داکر: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(بخش تنظیمات)
(نصب افزونهٔ buildx)
 
(۲۱ نسخه‌ٔ میانی ویرایش شده توسط ۳ کاربر نشان داده نشده)
سطر ۱: سطر ۱:
 
==معرفی==
 
==معرفی==
  
داکر را می‌توان یک راه‌حل برای مدیریت کانتینرها معرفی کرد. در واقع داکر از تعدادی پلتفرم به شکل سرویس تشکیل شده است که با استفاده از مجازی‌سازی سطح سیستم‌عامل توانایی ارائه نرم‌افزارها را در قالب بسته‌هایی به عنوان کانتیر ایجاد می‌کند. محیط کانتینرهای ارائه شده از یک دیگر مجزا بوده و هر یک کتابخانه‌ها، تنظیمات و سایر بسته‌های مورد نیاز خود را شامل می‌شوند. این کانتیرها قابلیت تعامل با یکدیگر و سیستم‌عامل میزبان را به واسطه کانال‌های متفاوتی دارا می‌باشند.
+
داکر را می‌توان یک راه‌حل برای مدیریت بارگنج‌ها معرفی کرد. در واقع داکر از تعدادی سکو به مثابه خدمت (Platform as A Service) تشکیل شده که با مجازی‌سازی سطح سیستم‌عامل توانایی ارائه نرم‌افزارها را در قالب بسته‌هایی به عنوان بارگنج ایجاد می‌کند. محیط بارگنج ارائه شده از یک دیگر مجزا بوده و هر یک کتابخانه‌ها، تنظیمات و سایر بسته‌های مورد نیاز خود را شامل می‌شوند.
  
 +
این بارگنج‌ها قابلیت تعامل با یکدیگر و سیستم‌عامل میزبان را به واسطه کانال‌های متفاوتی دارند.
 +
 +
==کاربردها==
 +
* راه‌اندازی محیط توسعهٔ برنامهٔ مجزا و ایزوله
 +
* مجازی سازی در سطح سیستم‌عامل و پردازه
 +
 +
 +
==جایگزین‌ها==
 +
[[پادمن]] یک جایگزین برای داکر است.
  
 
==نصب==
 
==نصب==
سطر ۸: سطر ۱۷:
 
داکر در [[repo|مخازن]] رسمی اوبونتو موجود است. برای نصب کافی است از دستور [[apt|apt]] استفاده نمایید و بسته docker.io را نصب نمایید.
 
داکر در [[repo|مخازن]] رسمی اوبونتو موجود است. برای نصب کافی است از دستور [[apt|apt]] استفاده نمایید و بسته docker.io را نصب نمایید.
  
<pre>$ sudo apt install docker.io</pre>
+
{{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 در خروجی استاندارد به اجرای خود خاتمه می‌دهد.
  
 
==تنظیمات==
 
==تنظیمات==
سطر ۱۴: سطر ۸۶:
 
تقریبا تمام تنظیمات ممکن برای داکر را می‌توان در شاخه زیر ذخیره و اعمال کرد:
 
تقریبا تمام تنظیمات ممکن برای داکر را می‌توان در شاخه زیر ذخیره و اعمال کرد:
  
<pre> /etc/docker/daemon.json</pre>
+
{{bc|
 +
/etc/docker/daemon.json
 +
}}
  
برای مثال می‌توان تعداد پایین یا بالا گذاری همزمان لایه‌های یک تصاویر را به شکل زیر تنظیم نمود:
+
برای نمونه می‌توان تعداد پایین یا بالا گذاری همزمان لایه‌های یک تصویر را به شکل زیر تنظیم نمود:
  
<pre>
+
{{bc|
 
{
 
{
 
"max-concurrent-uploads": 1,
 
"max-concurrent-uploads": 1,
 
"max-concurrent-downloads": 1
 
"max-concurrent-downloads": 1
 
}
 
}
</pre>
+
}}
  
  
==استفاده ابتدایی==
+
==فرمان‌های اولیه ==
 
دریافت تصویر اوبونتو از داکرهاب:
 
دریافت تصویر اوبونتو از داکرهاب:
  
<pre>
+
{{bc|
 
$ docker pull ubuntu:20.04
 
$ docker pull ubuntu:20.04
</pre>
+
}}
 +
 
 
حذف یک تصویر:
 
حذف یک تصویر:
  
<pre>
+
{{bc|
 
$ docker rmi image
 
$ docker rmi image
 
$ docker image rm image
 
$ docker image rm image
</pre>
+
}}
 +
 
 +
ساخت و اجرای یک بارگنج:
  
ساخت و اجرای یک کانتینر:
+
{{bc|
<pre>
 
 
$ docker run nginx
 
$ docker run nginx
</pre>
+
}}
لیست کانتینرهای در حال اجرا:
 
  
<pre>
+
سیاههٔ بارگنج‌های در حال اجرا:
 +
{{bc|
 
$ docker ps  
 
$ docker ps  
</pre>
+
}}
  
لیست تمامی کانتینرها
+
سیاههٔ تمامی بارگنج‌ها:
  
<pre>
+
{{bc|
 
$ docker ps --all
 
$ docker ps --all
</pre>
+
$ docker ps -a
 +
}}
  
متوقف کردن یک کانتینر:
+
متوقف کردن یک بارگنج:
  
<pre>
+
{{bc|
 
$ docker stop container_name
 
$ docker stop container_name
</pre>
+
}}
  
حذف یک کانتینر:
+
حذف یک بارگنج:
  
<pre>
+
{{bc|
 
$ docker rm container_name
 
$ docker rm container_name
</pre>
+
}}
  
حذف یک کانتینر در حال اجرا:
+
حذف یک بارگنج در حال اجرا:
  
<pre>
+
{{bc|
 
$ docker rm -f container_name
 
$ docker rm -f container_name
</pre>
+
}}
  
 +
ساخت و اجرای بارگنجی به نام my_container و به صورت جدا شده از پایانه.
  
ساخت و اجرای یک کانتینر به نام my_container و به صورت جدا شده از پایانه.
+
{{bc|
<pre>
 
 
$ docker run -d --name my_container nginx
 
$ docker run -d --name my_container nginx
</pre>
+
}}
 +
 
 +
اتصال درگاه 8080 بارگنج به 80 میزبان:
  
اتصال پورت 8080 کانتینر به 80 میزبان:
+
{{bc|
<pre>
 
 
$ docker run -d --name server -p 80:8080 nginx
 
$ docker run -d --name server -p 80:8080 nginx
</pre>
+
}}
  
سوار کردن یک شاخه از میزبان بر روی کانتینر:
+
سوار کردن شاخه‌ای از میزبان روی بارگنج:
  
<pre>
+
{{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
</pre>
+
}}
  
بررسی جزئیات یک کانتینر یا تصویر:
+
بررسی جزییات یک بارگنج یا تصویر:
<pre>
+
 
 +
{{bc|
 
$ docker inspect container/image
 
$ docker inspect container/image
</pre>
+
}}
 +
 
 +
 
 +
بررسی قسمت‌های یک بارگنج با فرمان 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