یک توسعه‌دهنده

یک توسعه دهنده که بیشتر از توسعه،‌ فیلم می‌بینه و کتاب می‌خونه :)

نکته‌های جنگویی - داکر پرتوان

يكشنبه, ۹ شهریور ۱۳۹۹، ۰۱:۲۶ ب.ظ

داکر؛ تو این مطلب خیلی خلاصه و جمع‌وجور، در مطلب کش کردن مجبور بودیم که memcahe رو به‌صورت دستی بریم از سایتش دانلود کنیم و نصب کنیم یا از تو مخزن نصبش کنیم. یا در مطلب رسپی کرفس و جنگو مجبور بودیم RabbitMQ رو نصب کنیم.

حالا در این مطلب من داکر رو نصب کردم. شما هم نصب کنید. راه حل نصب؟ روی لینک زیر کلیک کنید :)

[Click ME]


حالا که داکر نصب شده، اول memcache رو دانلود میکنم:

➜  ~ docker pull memcached

بعد یه Container ازش میسازم:

➜  ~ docker run -it -d memcached

اگر با موفقیت کانتینر ساخته شه، یه رشته رو بهم تو خروجی نشون میده:

92da2bf45553d4bb9bf7c98fa7d9776d79953337522f32049aad601cc3283aa4

حالا IPای که این کانتینر روش اجرا شده رو بدست میارم:

➜  ~ docker inspect 92da2bf45553d4bb9bf7c98fa7d9776d79953337522f32049aad601cc3283aa4                

که یه خروجی JSON مانند داره. که یکی از کلیدهاش:

            "IPAddress": "172.17.0.3",

هست. که نشون میده این کانتینر روی IP داخلی 172.17.0.3 در حال اجراست. برای اطمینان:

➜  ~ docker container ls                                                            
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
92da2bf45553        memcached           "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes        11211/tcp           angry_edison

حالا یه کانتینر memcache دارم که روی پورت 11211 در حال اجراست. خب الان به A/settings.py پروژه‌م میرم و :

# Cache
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '172.17.0.3:11211',
    }
}

تنظیم کش رو تغییر میدم :). به همین سادگی به‌جای اینکه مجبور باشم خود memcache رو نصب کنم، میام از داکر استفاده میکنم.

 

نوبت به RabbitMQ میرسه، مراحل بالا رو برای RabbitMQ هم انجام میدم:

➜  ~ docker pull rabbitmq       

ساخت کانتینر:

➜  ~ docker run -it -d rabbitmq 
➜  ~ docker container ls        
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                 NAMES
72a2d9cd8a41        rabbitmq            "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes        4369/tcp, 5671-5672/tcp, 15691-15692/tcp, 25672/tcp   sharp_darwin
92da2bf45553        memcached           "docker-entrypoint.s…"   9 minutes ago       Up 9 minutes        11211/tcp  

اگر inspect بگیرم:

➜  ~ docker inspect 72a2d9cd8a41

می‌بینم که IP اجرایی RabbitMQ:

            "IPAddress": "172.17.0.4",

هست. الان، هم IP رو دارم و هم PORT دوباره به A/settings.py میرم و:

# CELERY CONFIGURATIONS
CELERY_BROKER_URL = 'amqp://guest:guest@172.17.0.4:5672'

کانفیگ مربوط به سلری رو تغییر میدم. حالا اگر پروژه‌ی جنگو و سلری رو دوباره اجرا کنم میبینم پروژه به‌خوبی کار میکنه.

 

ساده‌ترین استفاده از داکر پرتوان برای این ناتوان همین بود =).

 

و پایان./

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

تمام حقوق مادی و معنوی این وبلاگ متعلق به وبلاگ سرزمین برنامه نویسی بوده و هر گونه کپی بردای بدون ذکر منبع غیرمجاز و از نظر ما حرام است