چرا سکان آکادمی؟
نصب و پاک کردن Docker Compose

نصب و پاک کردن Docker Compose

همانطور که در بخش اول از فصل سوم دوره ی آموزش کاربردی داکر دیدیم، Compose ابزاری است تا به ما در ایجاد و به اشتراک گذاری برنامه های چند کانتینری، کمک کند. با استفاده از Compose می توانیم یک فایل YAML ایجاد کنیم و در آن، سرویس های مورد نیاز برنامه مان را معرفی کنیم و سپس با یک دستور ساده همه ی سرویس ها را سرهم کرده و برنامه را اجرا کنیم و یا همه ی سرویس ها را پایین بیاوریم و برنامه را متوقف کنیم.

بزرگترین مزیت استفاده از Compose این است که می توانید کلیه ی کارها و سرویس های مورد نیاز برنامه تان را در یک فایل بنویسید، آن فایل را در اصلی ترین پوشه ی Repository برنامه تان نگه دارید و به راحتی شرایط همکاری دیگران را در پروژه تان فراهم کنید. شخصی که می خواهد با شما در پروژه همکاری کند، تنها لازم است از Repository پروژه یک clone تهیه کند و Compose برنامه را اجرا کند. همین الان اگر به GitLab یا GitHub سر بزنید، احتمالا تعداد زیادی پروژه را می بینید که همین کار را انجام می دهند.

🏹 حالا دیگه از آشنایی و تعریف عبور کنیم و وارد کار عملی بشیم. قبل از هرچیز لازم است Docker Compose را نصب کنیم.

نصب Docker Compose

اگر شما Docker Desktop یا Docker Toolbox را برای ویندوز یا مک نصب کرده اید، به طور پیش فرض Docker Compose را هم نصب کرده اید و می توانید از این مرحله عبور کنید. ولی اگر از لینوکس استفاده می کنید باید Docker Compose را به طور مستقل نصب کنید.

در ادامه ی این بخش میخوایم به نصب Docker Compose در لینوکس 64 بیتی  و Uninstall آن از روی لینوکس بپردازیم.

پیش نیازها

قبل از هرچیز باید بدانیم که Docker Compose برای انجام هر کاری به Docker Engine وابسته است. پس ابتدا، از نصب و فعال بودن Docker Engine به صورت Local و یا Remote مطمئن شوید.

همانطور که بالاتر هم گفتم، وقتی روی سیستم عامل های ویندوز و مک، Docker Desktop را نصب می کنید، به عنوان بخشی از مراحل نصب، Docker Compose هم نصب می شود.

در سیستم عامل های لینوکس هم نیاز هست که ابتدا Docker Engine را مناسب با نسخه و نوع سیستم عاملتان نصب کنید. برای این کار می توانید به صفحه ی Get Docker سایت رسمی داکر مراجعه کنید.

در زمان تهیه ی این بخش از آموزش، نسخه ی 1.29.2 آخرین نسخه ی توصیه شده است. اگر شما می خواهید نسخه ی دیگری را نصب کنید، می توانید شماره ی نسخه ی مورد نظرتان را با این شماره در دستورات زیر عوض کنید.

همچنین برای نصب Compose 2.0.0 در لینوکس یا به اینجا مراجعه کنید، یا صبر کنید تا در فصل آخر که فصل نکات تکمیلی هست برسیم و در آنجا آموزش این نسخه و نصب آن را داشته باشیم.

نصب Docker Compose روی Linux

در لینوکس، می توانید فایل Docker Compose را از روی Repository آن روی GitHub دانلود کنید. دستورالعمل های نصب Docker Compose روی لینوکس، به صورت گام به گام در ادامه آمده است.

💡 نکته: برای نسخه ی Alpine لینوکس، شما به Packageهای زیر نیاز دارید:

py-pip / python3-dev / libffi-dev / openssl-dev / gcc / libc-dev / Rust / cargo / make

  1. ابتدا دستور زیر را اجرا کنید تا آخرین نسخه ی Stable از Docker Compose را دانلود کنید.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

همانطور که بالاتر هم گفتم، درصورتی که تمایل به نصب نسخه ی دیگری از Docker Compose دارید. می توانید در این مرحله به جای نسخه ی 1.29.2 شماره ی نسخه ی مورد نظر خودتان را ثبت کنید.

اگر در دانلود Docker Compose با استفاده از Curl به مشکل خوردید، به ادامه ی همین بخش، با عنوان روش های جایگزین برای نصب Docker Compose در لینوکس مراجعه کنید.

   2. حالا دستور زیر را وارد کنید:

sudo chmod +x /usr/local/bin/docker-compose

توجه: اگر بعد از نصب، دستور docker-compose با خطا مواجه شد. مسیر موجود در دستور بالا را دوباره بررسی کنید. همچنین می توانید یک Symbolic Link به /usr/bin یا هر مسیر دیگری که دوست دارید ایجاد کنید. مثال:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

بعد از اینکه نصب با موفقیت انجام شد، با وارد کردن دستور زیر، باید ورژن Docker Compose نصب شده را مشاهده کنید.

docker-compose --version
docker-compose version 1.29.2, build 1110ad01

روش های جایگزین برای نصب Docker Compose در لینوکس

در صورتی که به روش گفته شده در بالا و با استفاده از Curl، موفق به نصب Docker Compose نشدید، دو راه دیگر هم برای این کار وجود دارد. اولین راه استفاده از pip و دومین راه، استفاده از کانتینر است. هر دو روش را در ادامه توضیح خواهم داد.

نصب با استفاده از pip

توجه: اگر از نسخه ی Alpine لینوکس استفاده می کنید، به نکته ای که بالاتر درباره ی این نسخه و پکیج های مورد نیازش اشاره کردم مراجعه کنید.

اگر قصد دارید از pip برای نصب Docker Compose استفاده کنید، به دلیل اینکه عموم سیستم عامل ها پکیج های سیستمی پایتون را دارند و این پکیج ها با وابستگی های Docker Compose در تضاد هستند و به تعارض (Conflict) می خورند، پیشنهاد می کنم از virtualenv و دستور زیر استفاده کنید.

pip install docker-compose

اگر به هر دلیلی تمایلی به استفاده از virtualenv نداشتید، از دستور زیر استفاده کنید:

sudo pip install docker-compose

توجه داشته باشید که ورژن 6 به بالای pip مورد نیاز است.

نصب به عنوان یک کانتینر

برای نصب Compose به عنوان یک کانتینر، دستور زیر را وارد کنید:

sudo curl -L --fail https://github.com/docker/compose/releases/download/1.29.2/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Uninstall یا پاک کردن Docker Compose

اگر برای نصب Docker Compose از curl استفاده کرده اید، برای پاک کردن آن دستور زیر را وارد کنید:

sudo rm /usr/local/bin/docker-compose

اگر هم برای نصب از pip استفاده کرده اید، دستور زیر را وارد کنید تا Docker Compose پاک شود:

pip uninstall docker-compose

آیا خطای سطح دسترسی یا Permission denied گرفتید؟

اگر شما در زمان استفاده از روش های بالا به خطای Permission Denied یا عدم دسترسی رسیدید، احتمالا دلیلش عدم وجود دسترسی های مناسب برای حذف docker-compose است. برای اینکه بتوانید به سیستم عامل اجبار کنید، که این دستور شما را انجام بدهد می توانید به ابتدای دستورات گفته شده در بالا sudo را اضافه کنید.

دوره در حال تکمیل است ... rocket