داکر: تفاوت بین نسخهها
جز |
(←فرمانهای اولیه) |
||
(۱۶ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشده) | |||
سطر ۱: | سطر ۱: | ||
==معرفی== | ==معرفی== | ||
− | داکر را میتوان یک راهحل برای مدیریت | + | داکر را میتوان یک راهحل برای مدیریت بارگنجها معرفی کرد. در واقع داکر از تعدادی سکو به مثابه خدمت (Platform as A Service) تشکیل شده که با مجازیسازی سطح سیستمعامل توانایی ارائه نرمافزارها را در قالب بستههایی به عنوان بارگنج ایجاد میکند. محیط بارگنج ارائه شده از یک دیگر مجزا بوده و هر یک کتابخانهها، تنظیمات و سایر بستههای مورد نیاز خود را شامل میشوند. |
+ | |||
+ | این بارگنجها قابلیت تعامل با یکدیگر و سیستمعامل میزبان را به واسطه کانالهای متفاوتی دارند. | ||
+ | |||
+ | ==کاربردها== | ||
+ | * راهاندازی محیط توسعهٔ برنامهٔ مجزا و ایزوله | ||
+ | * مجازی سازی در سطح سیستمعامل و پردازه | ||
+ | |||
+ | |||
+ | ==جایگزینها== | ||
+ | [[پادمن]] یک جایگزین برای داکر است. | ||
==نصب== | ==نصب== | ||
سطر ۱۰: | سطر ۲۰: | ||
$ sudo apt install docker.io | $ 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| | ||
+ | $ docker ps | ||
+ | }} | ||
+ | |||
+ | اجرای یک تصویر آزمایشی(hello-world) برای اطمینان از اتصال به داکرهاب و دریافت و اجرای تصاویر از آن | ||
+ | |||
+ | {{bc| | ||
+ | $ docker run hello-world | ||
+ | }} | ||
+ | |||
+ | بارگنج با چاپ یک پیام hello-world در خروجی استاندارد به اجرای خود خاتمه میدهد. | ||
==تنظیمات== | ==تنظیمات== | ||
سطر ۴۳: | سطر ۱۰۸: | ||
}} | }} | ||
− | ساخت و اجرای یک | + | ساخت و اجرای یک بارگنج: |
{{bc| | {{bc| | ||
سطر ۴۹: | سطر ۱۱۴: | ||
}} | }} | ||
− | + | سیاههٔ بارگنجهای در حال اجرا: | |
{{bc| | {{bc| | ||
$ docker ps | $ docker ps | ||
}} | }} | ||
− | + | سیاههٔ تمامی بارگنجها: | |
{{bc| | {{bc| | ||
سطر ۶۱: | سطر ۱۲۶: | ||
}} | }} | ||
− | متوقف کردن یک | + | متوقف کردن یک بارگنج: |
{{bc| | {{bc| | ||
سطر ۶۷: | سطر ۱۳۲: | ||
}} | }} | ||
− | حذف یک | + | حذف یک بارگنج: |
{{bc| | {{bc| | ||
سطر ۷۳: | سطر ۱۳۸: | ||
}} | }} | ||
− | حذف یک | + | حذف یک بارگنج در حال اجرا: |
{{bc| | {{bc| | ||
سطر ۷۹: | سطر ۱۴۴: | ||
}} | }} | ||
− | ساخت و اجرای | + | ساخت و اجرای بارگنجی به نام my_container و به صورت جدا شده از پایانه. |
{{bc| | {{bc| | ||
سطر ۸۵: | سطر ۱۵۰: | ||
}} | }} | ||
− | اتصال | + | اتصال درگاه 8080 بارگنج به 80 میزبان: |
{{bc| | {{bc| | ||
سطر ۹۱: | سطر ۱۵۶: | ||
}} | }} | ||
− | سوار کردن | + | سوار کردن شاخهای از میزبان روی بارگنج: |
{{bc| | {{bc| | ||
سطر ۹۷: | سطر ۱۶۲: | ||
}} | }} | ||
− | بررسی | + | بررسی جزییات یک بارگنج یا تصویر: |
{{bc| | {{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
بررسی کارکرد داکر
اگر تنظیمات به درستی انجام شده باشد اجرای فرمان زیر خطایی ندارد.
$ 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