داکر: تفاوت بین نسخهها
جز |
(←نصب) |
||
(۲۵ نسخهٔ میانی ویرایش شده توسط ۳ کاربر نشان داده نشده) | |||
سطر ۱: | سطر ۱: | ||
− | == معرفی == | + | ==معرفی== |
− | داکر را میتوان یک راهحل برای مدیریت | + | داکر را میتوان یک راهحل برای مدیریت بارگنجها معرفی کرد. در واقع داکر از تعدادی سکو به مثابه خدمت (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| |
+ | $ logout | ||
+ | }} | ||
+ | |||
+ | فرمان زیر گروههایی که کاربر عضو آن است را نشان میدهد. اکنون باید کاربر عضو گروه داکر شده باشد. | ||
+ | |||
+ | {{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}
برای اعمال تنظیمات لازم است مجدد با کاربر به سامانه وارد شوید.
$ 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