داکر
محتویات
معرفی
داکر را میتوان یک راهحل برای مدیریت بارگنجها معرفی کرد. در واقع داکر از تعدادی سکو به مثابه خدمت (Platform as A Service) تشکیل شده که با مجازیسازی سطح سیستمعامل توانایی ارائه نرمافزارها را در قالب بستههایی به عنوان بارگنج ایجاد میکند. محیط بارگنج ارائه شده از یک دیگر مجزا بوده و هر یک کتابخانهها، تنظیمات و سایر بستههای مورد نیاز خود را شامل میشوند.
این بارگنجها قابلیت تعامل با یکدیگر و سیستمعامل میزبان را به واسطه کانالهای متفاوتی دارند.
کاربردها
- راهاندازی محیط توسعهای برای برنامهها به شکل مجزا و ایزوله
- مجازی سازی در سطح پردازه و سیستمعامل
- فراهمسازی امکان استقرار یکپارچهٔ نرمافزار
جایگزینها
پادمن یک جایگزین برای داکر است.
نصب
داکر در مخازن رسمی اوبونتو موجود است. برای نصب کافی است از دستور apt استفاده نمایید و بسته docker.io را نصب نمایید.
$ sudo apt install docker.io
برای اینکه اجرای داکر نیاز به دسترسی کاربر ارشد نداشته باشد کاربر خودتان را به گروه داکر بیفزایید.
$ sudo usermod -aG docker ${USER}
برای اعمال تنظیمات لازم است مجدد با کاربر به سامانه وارد شوید.
$ logout
فرمان زیر گروههایی که کاربر عضو آن است را نشان میدهد. اکنون باید کاربر عضو گروه داکر شده باشد.
$ id -nG
برای اجرای چند تصویر داکر میتوان از docker compose استفاده کرد.
برای نصب از مخازن رسمی استفاده میکنیم.
$ sudo apt install docker-compose
نصب روی ابونتو ۲۴.۰۴
با توجه به تغییرات داکر در نسخههای جدید از فرمان زیر استفاده کنید.
$ sudo apt install docker.io docker-compose-v2 $ sudo usermod -aG docker ${USER}
با اعمال این تغییر باید به جای docker-compose از فرمان docker compose استفاده کنید.
نصب افزونهٔ buildx
$ sudo apt install docker-buildx-plugin
در برخی نسخهها
$ sudo apt install docker-buildx
بررسی کارکرد داکر
اگر تنظیمات به درستی انجام شده باشد اجرای فرمان زیر خطایی ندارد.
$ docker ps
اجرای یک تصویر آزمایشی(hello-world) برای اطمینان از اتصال به داکرهاب و دریافت و اجرای تصاویر از آن
$ docker run hello-world
بارگنج با چاپ یک پیام hello-world در خروجی استاندارد به اجرای خود خاتمه میدهد.
تنظیمات
تقریبا تمام تنظیمات ممکن برای داکر را میتوان در شاخه زیر ذخیره و اعمال کرد:
/etc/docker/daemon.json
برای نمونه میتوان تعداد پایین یا بالا گذاری همزمان لایههای یک تصویر را به شکل زیر تنظیم نمود:
{ "max-concurrent-uploads": 1, "max-concurrent-downloads": 1 }
فرمانهای اولیه
دریافت تصویر اوبونتو از داکرهاب:
$ docker pull ubuntu:20.04
حذف یک تصویر:
$ docker rmi image $ docker image rm image
ساخت و اجرای یک بارگنج:
$ docker run nginx
سیاههٔ بارگنجهای در حال اجرا:
$ docker ps
سیاههٔ تمامی بارگنجها:
$ docker ps --all $ docker ps -a
متوقف کردن یک بارگنج:
$ docker stop container_name
حذف یک بارگنج:
$ docker rm container_name
حذف یک بارگنج در حال اجرا:
$ docker rm -f container_name
ساخت و اجرای بارگنجی به نام my_container و به صورت جدا شده از پایانه.
$ docker run -d --name my_container nginx
اتصال درگاه 8080 بارگنج به 80 میزبان:
$ docker run -d --name server -p 80:8080 nginx
سوار کردن شاخهای از میزبان روی بارگنج:
$ docker run --name server -d -v /home/user/web/:/var/www/html php:7-apache
بررسی جزییات یک بارگنج یا تصویر:
$ docker inspect container/image
بررسی قسمتهای یک بارگنج با فرمان ls:
$ docker container ls
$ docker volume ls
$ docker network ls
$ docker image ls