تو این مقاله قصد داریم تا با هم، داکر و داکر کامپوز (docker compose) رو روی اوبونتو نصب کنیم؛ البته اول یه مختصر در مورد داکر صحبت میکنیم تا اگه یه وقت در موردش اطلاع ندارید باهاش یه کمی آشنا بشید و بعدم نصبش کنیم؛ در آخر هم تمام دستورات نصب رو به صورت یکجا میذاریم.
داکر مجموعه ابزارهایی هستش که این امکان رو میده نرمافزارها رو به همراه نیازمندیهاشون (dependencies) پکیج کنیم و اونها رو به صورت ایزوله، روی یک (و یا چند) سیستم عامل اجرا کنیم؛ منظور از ایزوله یعنی اینکه بر اساس سیاستهایی که تعریف میکنیم، دسترسیشون به دیسک، رم، سیپییو و شبکه میتونه محدود باشه تا اگر یه نرمافزاری خراب شد یا قصد خرابکاری داشت، بقیه رو نابود نکنه.
اگه با مجازیسازی و ماشین مجازی آشنا هستید، داکر رو میتونیم یه جورایی همارز VMWare Workstation یا ESXi یا VirtualBox یا OpenStack در نظر بگیریم و کانتینرها (container) رو هم یه جورایی همارز ماشین مجازی (virtual machine)؛ با این تفاوت که داکر حتما روی یک سیستم عامل نصب میشه (بر خلاف ESXi که نیاز به سیستم عامل نداره) و کانتینرها میتونن علاوه بر منابع سختافزاری، از کرنل و تعدادی از سرویسهای نرمافزاری سیستم عامل میزبان به صورت مشترک استفاده کنن؛ در نتیجه حجم کانتینرها به شدت از حجم ماشینمجازی میتونه کمتر باشه؛ همچنین سرعت بالا اومدشون معمولا خیلی بیشتر از ماشین مجازی هست چون معطل بالا اومدن سیستم عامل نیستن.
بحث داکر مفصله و تا همین مقدار بسنده میکنیم؛ اگه نیاز دارید بیشتر در مورد داکر بدونید منابع خوب زیادی توی اینترنت موجوده؛ خود سایت داکر هم بد نیست میتونید یه نگاهی بهش بندازید.
شاید این مقاله هم بد نباشه یه نگاه بهش بندازید:
داکر برای توسعهدهندگان؛ واقعا به چه دردی میخوره؟!
خب بریم سراغ نصب داکر و داکر کامپوز!
خب؛ برای نصب داکر، اول از همه چیز، از اونجایی که داکر ما رو تحریم کرده و نمیتونیم از سروراش چیزی دانلود کنیم، باید یه فکری به حال تحریم بکنیم؛ توی این مقاله توضیح دادم چجوری شکن رو روی اوبونتو فعال کنید؛ هرچند میتونید از بقیه روشهایی که آیپیتونو تغییر میده هم استفاده کنید.
نصب داکر روشهای مختلفی داره؛ روشی که خودم معمولا ازش استفاده میکنم و مشکل خاصی باهاش نداشتم روش نصب با استفاده از repository هستش؛ اینجا هم همین روش رو با هم میریم جلو.
اول apt رو آپدیت کنیم و پکیجهایی که برا اضافه کردن repository روی HTTPS هست رو نصب کنیم:
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
بعد کلیدای GPG داکر رو اضافه کنیم:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
در آخرم repository رو اضافه میکنیم:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
دیگه نصب داکر مثل نصب یه پکیج معمولیه:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
با این دستورم میتونیم مطمئن بشیم داکر نصب شده:
sudo docker run hello-world
برا اینکه بتونیم دستور داکر رو بدون sudo اجرا کنیم این دو تا دستورم میزنیم:
sudo usermod -aG docker $USER newgrp docker
الان قاعدتا بدون sudo میتونیم دستور داکر رو اجرا کنیم ولی اگه یه وخ نشد ترمینال رو یه بار باید ببندیم و دوباره بازش کنیم.
یه کوچولو در مورد داکر کامپوز:
داکر کامپوز ابرازی برای تعریف و اجرای اپلیکیشنای چند کانتینرهس؛ وقتی ما یه نرمافزار طراحی میکنیم، احتمالا نرمافزارمون به نرمافزارای دیگه (مثل دیتابیس و ...) احتیاج داره؛ به وسیله داکر کامپوز و ایجاد یه فایل YAML میتونیم نرمافزار خودمون و سایر نرمافزارایی که بهش احتیاج داریم رو توصیف کنیم و داکر کامپوز بر اساس اون فایل، کانتینرها رو ایجاد کنه. برای توضیحات بیشتر میتونید یه سری به صفحه خودش بزنید.
برای نصب داکر کامپوز کافیه این دستورات رو اجرا کنیم:
sudo mkdir -p /usr/local/lib/docker/cli-plugins sudo curl -SL https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
با این دستورم میتونیم مطمئن بشیم داکر کامپوز اوکیه:
docker compose version # خروجیش اینه: # Docker Compose version v2.0.1
# Adding Docker Repository sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Installing Docker Engine sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER newgrp docker # Installing Docker Compose sudo mkdir -p /usr/local/lib/docker/cli-plugins sudo curl -SL https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
در صورتی که سوالی داشتید در قسمت نظرات یا ایمیل mkay1375@gmail.com در خدمت هستم.