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