آموزش نصب داکر روی اوبونتو 22.04
۲۹ بهمن ۱۴۰۳
مقدمه
داکر ابزاری است که فرایند مدیریت اپلیکیشنها را در کانتینرها (Container) آسان میکند. کانتینرها به شما کمک میکنند تا منابع مورد نیاز برای اجرای اپلیکیشنهای خود را از داخل داکر تامین کنید و آنها را به آسانی اجرا کنید. کانتینرها شباهت زیادی به ماشینهای مجازی دارند؛ با این تفاوت که کانتینرها سبکتر و قابل حملتر هستند و به سیستم عامل میزبان وابستگی بیشتری دارند.
در این مقاله از لیارا قصد داریم نحوه نصب داکر روی اوبونتو را آموزش دهیم. با مطالعه این مقاله، به راحتی میتوانید داکر را نصب کرده و با کانتینرها و ایمیج آنها کار کنید.
پیش نیازهای نصب داکر روی اوبونتو 22.04

برای نصب داکر در اوبونتو با روش توضیح داده شده در این مقاله، به موارد زیر نیاز دارید:
- یک سرور اوبونتو 22.04 پیکربندی شده با یک کاربر غیر ریشه سودو (sudo non-root user) و یک فایروال
- یک حساب کاربری در Docker Hub برای ایجاد ایمیجها و ارسال آنها به Docker Hub
مرحله اول: نصب داکر
پکیج نصب داکر موجود در مخزن (Repository) رسمی اوبونتو ممکن است جدیدترین نسخه نباشد. به همین علت برای اطمینان از دریافت آخرین نسخه بهتر است آن را از مخزن رسمی Docker نصب کنیم. برای انجام این کار یک منبع پکیج جدید و کلید GPG
را از داکر اضافه میکنیم تا از معتبر بودن دانلودها مطمئن شویم و سپس پکیج را نصب میکنیم.
ابتدا با استفاده از دستور زیر، لیست پکیجهای موجود خود را بهروزرسانی کنید:
sudo apt update
سپس تعدادی پکیج پیش نیاز را نصب کنید که بهapt
این امکان را میدهند که از طریق HTTPS
پکیجها را دانلود کند.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
در ادامه کلیدGPG
مربوط به مخزن رسمی Docker را به سیستم خود اضافه کنید:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
سپس با دستور زیر مخزن داکر را به منابع APT
اضافه کنید:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
حالا لیست پکیجهای موجود را مجددا بهروزرسانی کنید تا موارد اضافه تر نیز شناسایی شوند:
sudo apt update
برای اینکه مطمئن شوید در حال دانلود پکیج نصب از مخزن رسمی Docker هستید، دستور زیر را اجرا کنید:
apt-cache policy docker-ce
با اجرای دستور بالا، خروجی مشابه زیر را مشاهده خواهید کرد، البته ممکن است نسخه داکر متفاوت باشد:
docker-ce:
Installed: (none)
Candidate: 5:20.10.14~3-0~ubuntu-jammy
Version table:
5:20.10.14~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
5:20.10.13~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
توجه کنید که تا این مرحله هنوز docker-ce نصب نشده است. برای نصب docker در اوبونتو دستور زیر را وارد کنید:
sudo apt install docker-ce
حالا داکر باید نصب شده باشد، دیمن (deamon) آن راهاندازی شده و فرایند آن برای شروع خودکار در بوت فعال شده است. با دستور زیر مطمئن شوید که فرایند در حال اجرا است:
sudo systemctl status docker
خروجی اجرای دستور بالا باید به صورت زیر باشد و نشان دهد که سرویس فعال و در حال اجرا است:
Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-04-01 21:30:25 UTC; 22s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 7854 (dockerd)
Tasks: 7
Memory: 38.3M
CPU: 340ms
CGroup: /system.slice/docker.service
└─7854 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
با نصب داکر صرفا سرویس داکر (deamon) نصب نمیشود، بلکه ابزار خط فرمان داکر (Docker client) نیز نصب خواهد شد. در ادامه مقاله با ما همراه باشید تا نحوه استفاده از دستور Docker را با هم بررسی کنیم.
مرحله دوم: اجرای دستور داکر بدون sudo (اختیاری)
دستور docker به طور پیش فرض فقط میتواند توسط کاربر ریشه (root) یا کاربری در گروه داکر اجرا شود که بطور خودکار در طول فرایند نصب docker ایجاد میشود. اگر بخواهید دستور docker را بدون sudo
اجرا کنید، خروجی مشابه زیر دریافت خواهید کرد:
Output
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.
اگر موقع اجرای دستور docker ازsudo
استفاده نمیکنید، طبق دستور زیر نام کاربری خودتان را به گروه داکر اضافه کنید:
sudo usermod -aG docker ${USER}
همچنین برای درخواست عضویت گروه جدید، از سرور خارج شده و مجدد وارد شوید یا دستور زیر را تایپ کنید:
su - ${USER}
در ادامه، از شما خواسته میشود تا رمز عبورتان را وارد کنید. برای تائید اینکه کاربر شما به گروه داکر اضافه شده است، دستور زیر را وارد کنید:
groups
خروجی به شکل زیر خواهد بود:
Output
sammy sudo docke
اگر قصد دارید که کاربری را به گروه داکر اضافه کنید که هنوز وارد آن نشدهاید، نام کاربری مورد نظر را به طور واضح طبق دستور زیر وارد کنید:
sudo usermod -aG docker username
در ادامه این آموزش فرض میکنیم شما دستور docker را به عنوان یک کاربر در گروه docker اجرا میکنید. در غیر این صورت لطفا دستورات را با sudo شروع کنید.
اگر هنوز آشنایی کافی با داکر ندارید، همچنین بخوانید: داکر(Docker) چیست؟
مرحله سوم: استفاده از دستور Docker
استفاده در دستور docker شامل مجموعهای از گزینهها (options)، دستورات (commands) و در انتها آرگومانها (arguments) است که باید به صورت زیر باشد:
docker [option] [command] [arguments]
برای مشاهده همه زیردستورها (subcommands) عبارت زیر را وارد کنید:
docker
حالا لیست کامل زیردستورهای موجود در داکر نسخه 20.10.14 را مشاهده میکنید:
Output
attach Attach local standard input, output, and error streams to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes
برای مشاهده گزینههای موجود برای یک دستور خاص، عبارت زیر را تایپ کنید:
docker docker-subcommand --help
حالا برای دیدن اطلاعات کل سیستم (system-wide) درباره Docker، عبارت زیر را وارد کنید:
docker info
در ادامه مقاله بیایید برخی از این دستورات کاربردی داکر را بررسی کنیم، ابتدا با ایمیج ها شروع میکنیم:
مرحله چهارم: کار با Docker Images
کانتینرهای داکر از Docker Images ساخته میشوند. Docker Image فایلی است که برای اجرای کد در کانتینر داکر استفاده میشود و به عنوان مجموعهای از دستورالعملها برای ساخت کانتینرها عمل میکند. به طور پیش فرض، داکر این تصاویر را از Docker Hub دریافت یا پول (Pull) میکند؛ داکر هاب یک رجیستری داکر است که توسط کمپانی Docker مدیریت میشود. هر کسی میتواند Docker Image خود را در Docker Hub میزبانی کند؛ بنابراین اکثر اپلیکیشنها و توزیعهای لینوکس که به آن نیاز دارید، Images خود را آنجا میزبانی میکنند.
با وارد کردن دستور زیر میتوانید بررسی کنید که آیا به تصاویر Docker Hub دسترسی دارید و آنها را میتوانید دانلود کنید یا خیر:
docker run hello-world
خروجی زیر نشان میدهد که docker به درستی کار میکند:
Output
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
در ابتدا، داکر قادر به پیدا کردن ایمیج hello-world
به صورت محلی نیست، بنابراین image را از Docker Hub (مخزن پیش فرض) دانلود میکند. بعد از دانلود image، داکر یک کانتینر از image و اپلیکیشنی که درون آن اجرا میشود، ایجاد کرده و پیغام را نمایش میدهد.
همچنین شما میتوانید برای جستجو در میان ایمیجها موجود در Docker Hub از دستور docker
با زیردستور search
استفاده کنید. بهعنوان مثال، برای جستجوی ایمیج ubuntu، دستور زیر را وارد کنید:
docker search ubuntu
این اسکریپت را در Docker Hub جستوجو کرده و فهرستی از تمامی Imageهایی که نام آنها با عبارت جستوجو شده مطابقت دارد، نمایش میدهد. در این حالت، خروجی مشابه زیر خواهد بود:
Output
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 14048 [OK]
websphere-liberty WebSphere Liberty multi-architecture images … 283 [OK]
ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK]
neurodebian NeuroDebian provides neuroscience research s… 88 [OK]
open-liberty Open Liberty multi-architecture images based… 51 [OK]
...
عبارت OK در ستون OFFICIAL نشان دهنده این است که تصویر (Image) توسط شرکت سازنده پروژه داکر ساخته و پشتیبانی میشود. پس از انتخاب تصویر موردنظر، میتوانید آن را با استفاده از زیردستورpull
در کامپیوتر خود دانلود کنید.
برای دانلود تصویر رسمی ubuntu
، دستور زیر را اجرا کنید:
docker pull ubuntu
اکنون خروجی زیر را مشاهده خواهید کرد:
Output
Using default tag: latest
latest: Pulling from library/ubuntu
e0b25ef51634: Pull complete
Digest: sha256:9101220a875cee98b016668342c489ff0674f247f6ca20dfc91b91c0f28581ae
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
بعد از دانلود Image، میتوانید با استفاده از زیردستورrun
، از آن برای اجرای یک کانتینر استفاده کنید. همانطور که در مثال hello-world
دیدید، اگر هنگام اجرای دستور docker run تصویر مربوطه از قبل دانلود نشده باشد، کلاینت داکر ابتدا آن را دریافت کرده و سپس یک کانتینر بر اساس آن اجرا میکند.
برای مشاهده تصاویری که در کامیپوترتان دانلود کردهاید، دستور زیر را اجرا کنید:
docker images
خروجی این دستور را مشاهده کنید:
Output
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 1d622ef86b13 3 weeks ago 73.9MB
hello-world latest bf756fb1ae65 4 months ago 13.3kB
همانطور که در بخشهای بعدی این مقاله خواهید دید، ایمیجهای مورد استفاده برای اجرای کانتینرها قابل تغییر هستند و میتوانید از آنها برای ایجاد ایمیجهای جدید استفاده کنید. در مرحله بعدی با ما همراه باشید، نحوه اجرای کانتینرها را با جزئیات بیشتری بررسی خواهیم کرد.
مرحله پنجم: اجرای یک کانتینر Docker
کانتینر hello-world
که در مرحله قبل اجرا کردیم، نمونهای از کانتینری است که پس از نمایش یک پیام آزمایشی اجرا شده و سپس متوقف میشود.
برای نمونه، اجازه بدهید یک کانتینر را با استفاده از آخرین Image اوبونتو اجرا کنیم. استفاده از سوئیچهای -i و -t به شما این امکان را میدهد که به یک shell تعاملی در داخل کانتینر دسترسی داشته باشید:
docker run -it ubuntu
پس از اجرای دستور بالا، خط فرمان شما تغییر خواهد کرد تا نشان دهد که همین حالا در داخل کانتینر در حال کار هستید. خروجی مورد انتظار باید مشابه نمونه زیر باشد:
Output
root@d9b100f2f636:/#
به شناسه کانتینر (Container ID) در خط فرمان توجه کنید که در این مثال d9b100f2f636
است. برای حذف کانتینر، به این شناسه نیاز خواهید داشت.
اکنون میتوانید هر دستوری را مستقیماً داخل کانتینر اجرا کنید. به عنوان مثال، بیایید دیتابیس پکیجهای داخل کانتینر را بهروز کنیم. توجه داشته باشید که نیازی به استفاده از sudo
در ابتدای دستورات ندارید، زیرا داخل کانتینر بهعنوان کاربر root عمل میکنید:
apt update
سپس میتوانید هر برنامهای را که نیاز دارید نصب کنید. بهعنوان مثال، برای نصب Node.js در کانتینر، از دستور زیر استفاده کنید:
apt install nodejs
با این دستور، Node.js از مخزن رسمی اوبونتو در داخل کانتینر نصب خواهد شد. پس از اتمام فرآیند نصب، برای اطمینان از نصب صحیح Node.js، دستور زیر را اجرا کنید:
node -v
در خروجی، شماره نسخه Node.js نمایش داده میشود:
Output
v12.22.9
هر تغییری که در داخل کانتینر ایجاد کنید، فقط برای همان کانتینر اعمال خواهد شد و پس از توقف آن کانتینر از دست خواهد رفت. برای خروج از کانتینر، کافی است دستور exit
را تایپ کنید. در مرحله بعدی از آموزش نصب داکر در اوبونتو، به نحوه مدیریت کانتینرها میپردازیم.
مرحله ششم: مدیریت کانتینرهای Docker
بعد از مدتی استفاده از داکر، ممکن است کانتینرهای فعال (در حال اجرا) و غیرفعال زیادی در کامپیوتر شما وجود داشته باشد. برای مشاهده کانتینرهای در حال اجرا، از دستور زیر استفاده کنید:
docker ps
به این ترتیب خروجی مشابه زیر را دریافت خواهید کرد:
Output
CONTAINER ID IMAGE COMMAND CREATED
در آموزش نصب داکر روی اوبونتو، شما دو کانتینر را راهاندازی کردهاید؛ یکی از ایمیج hello-world
و دیگری از ایمیج ubuntu
بود. این کانتینرها هر چند هنوز در کامپیوتر شما موجود هستند، اما دیگر در حال اجرا نیستند. برای مشاهده تمامی کانتینرهای فعال و غیرفعال، دستور زیر را با سوئیچ -a
اجرا کنید:
docker ps -a
نتیجه به این شکل خواهد بود:
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c08a7a0d0e4 ubuntu "bash" About a minute ago Exited (0) 7 seconds ago dazzling_taussig
587000e49d53 hello-world "/hello" 5 minutes ago Exited (0) 5 minutes ago adoring_kowalevsk
برای دیدن آخرین کانتینر ایجاد شده سوئیچ -l
را اجرا کنید:
docker ps -l
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c08a7a0d0e4 ubuntu "bash" 3 minutes ago Exited (0) 2 minutes ago
برای راهاندازی یک کانتینر متوقفشده، از دستور docker start
استفاده کنید و سپس ID یا نام کانتینر را وارد کنید. بهعنوان مثال برای شروع کانتینری که بر اساس اوبونتو است و شناسه آن 1c08a7a0d0e4
است، دستور زیر را اجرا کنید:
docker start 1c08a7a0d0e4
کانتینر مورد نظر شروع به کار خواهد کرد و شما میتوانید با استفاده از دستور docker ps
وضعیت آن را ببینید.
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c08a7a0d0e4 ubuntu "bash" 6 minutes ago Up 8 seconds dazzling_taussig
برای متوقف کردن کانتینر، میتوانید از دستور docker stop
به همراه ID یا نام کانتینر استفاده کنید. در وضعیت کانتینری که نام آن dazzling_taussig
است، برای متوقف کردن آن کافی است دستور زیر را وارد کنید:
docker stop dazzling_taussig
اگر دیگر نیازی به یک کانتینر ندارید، میتوانید از دستور docker rm
برای حذف آن استفاده کنید. برای حذف کامل یک کانتینر، کافی است پس از این دستور، نام یا ID کانتینر را وارد کنید. همچنین، برای پیدا کردن نام یا ID کانتینر مرتبط با ایمیج hello-world
یا برای حذف آن، میتوانید از دستور docker ps -a
استفاده کنید.
docker rm adoring_kowalevski
برای راهاندازی یک کانتینر جدید و اختصاص نام به آن، از سوئیچ --name
استفاده کنید. همچنین، سوئیچ --rm
برای ایجاد کانتینری کاربرد دارد که پس از توقف، بهطور خودکار حذف میشود. برای گرفتن اطلاعات بیشتر درباره انواع گزینهها (options) و نحوه استفاده از آنها، میتوانید از دستور docker run --help
کمک بگیرید.
مرحله هفتم: ایجاد تغییرات در یک کانتینر و تبدیل آن به Image
در مرحله بعدی آموزش نصب داکر روی اوبونتو، به نحوه ایجاد تغییرات در Docker images خواهیم پرداخت. پس از راهاندازی یک Docker image، میتوانید مانند یک ماشین مجازی آن را ایجاد، ویرایش و حذف کنید. تغییرات انجامشده تنها بر روی همان کانتینر تاثیر خواهند داشت. شما میتوانید آن را شروع و متوقف کنید، اما با اجرای دستور docker rm
، تمامی تغییرات بهطور کامل حذف خواهند شد.
در این بخش به شما خواهیم آموخت که چگونه وضعیت یک کانتینر را بهعنوان یک Docker image جدید ذخیره کنید. پس از نصب Node.js درون یک کانتینر اوبونتو، اکنون شما یک کانتینر در حال اجرا از یک Image دارید، اما این کانتینر با Image اولیهای که برای ساخت آن استفاده کردهاید، تفاوت دارد. ممکن است بخواهید از این کانتینر Node.js بهعنوان پایهای برای ایجاد Imageهای جدید استفاده کنید.
برای ذخیره تغییرات روی یک Docker image جدید، از دستور زیر استفاده کنید:
docker commit -m "What you did to the image" -a "Author Name" container_id repository/new_image_name
سوئیچ -m
برای اضافه کردن پیغامی است که توضیح میدهد چه تغییراتی در کانتینر ایجاد کردهاید، این پیام به شما و دیگران کمک میکند تا تغییرات را پیگیری کنید. سوئیچ -a
نیز برای تعیین نویسنده (author) استفاده میشود. container_id
همان شناسهای است که در مراحل قبلی به آن اشاره کردیم. مخزن (Repository) معمولاً نام کاربری Docker Hub شما است، مگر اینکه شما مخزنهای دیگری را در Docker Hub ایجاد کرده باشید.
برای مثال، اگر کاربر sammy
باشید و ID کانتینر شما d9b100f2f636
باشد، دستور به شکل زیر خواهد بود:
docker commit -m "added Node.js" -a "sammy" d9b100f2f636 sammy/ubuntu-nodejs
زمانی که شما یک Image را commit میکنید، این Image جدید بهطور محلی در کامپیوتر شما ذخیره میشود. در ادامه آموزش نصب داکر روی اوبونتو 22.04، خواهید آموخت که چگونه میتوانید یک Image را به یک رجیستری داکر مانند Docker Hub پوش (Push) کنید تا دیگران هم به آن دسترسی داشته باشند.
با اجرای این دستور، هم Image جدید و هم Image قبلی که ایجاد کردهاید، نمایش داده خواهند شد:
docker images
خروجی دستور بالا به این شکل خواهد بود:
Output
REPOSITORY TAG IMAGE ID CREATED SIZE
sammy/ubuntu-nodejs latest 7c1f35226ca6 7 seconds ago 179MB
...
در مثال بالا، ubuntu-nodejs
یک Image جدید است که از ایمیج ubuntu
موجود در داکر هاب ساخته شده است. تفاوت اندازه این Image نشاندهنده تغییراتی است که اعمال شدهاند. در این مثال، تغییر ایجاد شده نصب Node.js بود. بنابراین، در دفعه بعدی که نیاز به اجرای کانتینری با ubuntu و Node.js از پیش نصب شده دارید، میتوانید از این Image جدید استفاده کنید.
علاوه بر این، شما میتوانید با استفاده از یک Dockerfile، Image هایی بسازید که به طور خودکار نرمافزارهای مورد نظر را نصب کرده و یک Image جدید ایجاد کنند. البته این بخش از آموزش از حوصله این بلاگ خارج است.
مرحله هشتم: Push (ارسال) Docker Image به مخزن داکر
بعد از ایجاد یک Docker Image، احتمالاً تمایل دارید آن را با دوستانتان یا دیگر افرادی که به رجیستری Docker هاب یا سایر رجیستریهای داکر دسترسی دارند، به اشتراک بگذارید. برای ارسال (push) یک Image به Docker Hub یا هر رجیستری داکر دیگری، ابتدا باید یک حساب کاربری ایجاد کرده و وارد حساب کاربری خود شوید.
سپس با دستور زیر وارد داکر هاب شوید:
docker login -u docker-registry-username
پس از آن از شما خواسته میشود تا با وارد کردن رمز عبور Docker Hub خود، احراز هویت خود را انجام دهید. در صورت وارد کردن رمز عبور صحیح، فرآیند احراز هویت با موفقیت به پایان خواهد رسید.
نکته: اگر نام کاربری Docker Registry شما با نام کاربری محلی که هنگام ایجاد Image از آن استفاده کردهاید متفاوت باشد، باید Image خود را با نام کاربری رجیستری خود تگ کنید. برای این منظور، میتوانید از دستور زیر استفاده کنید:
docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs
در ادامه با دستور زیر image خود را ارسال (push) کنید:
docker push docker-registry-username/docker-image-name
برای ارسال ubuntu-nodejs image به مخزن sammy دستور به شکل زیر خواهد بود:
docker push sammy/ubuntu-nodejs
این فرایند ممکن است بهدلیل آپلود Imageها کمی زمان ببرد، اما پس از تکمیل، خروجی بهصورت زیر خواهد بود:
Output
The push refers to a repository [docker.io/sammy/ubuntu-nodejs]
e3fbbfb44187: Pushed
5f70bf18a086: Pushed
a3b5c80a4eba: Pushed
7f18b442972b: Pushed
3ce512daaf78: Pushed
7aae4540b42d: Pushed
...
بعد از ارسال یک Image به یک رجیستری، باید این Image در داشبورد حساب کاربری شما مانند تصویر زیر نمایش داده شود:

اگر هنگام پوش کردن Image، با خطای زیر مواجه شدید، احتمالاً وارد سیستم نشدهاید:
Output
The push refers to a repository [docker.io/sammy/ubuntu-nodejs]
e3fbbfb44187: Preparing
5f70bf18a086: Preparing
a3b5c80a4eba: Preparing
7f18b442972b: Preparing
3ce512daaf78: Preparing
7aae4540b42d: Waiting
unauthorized: authentication required
برای ورود به سیستم، از دستور docker login
استفاده کنید و سپس دوباره برای پوش کردن Image تلاش کنید.
حال میتوانید با استفاده از دستور docker pull sammy/ubuntu-nodejs
این Image را به یک ماشین جدید منتقل کرده و از آن برای اجرای یک کانتینر جدید استفاده کنید.
جمع بندی:
در این آموزش مراحل نصب داکر روی اوبونتو و دستورات کاربردی آن را به ترتیب زیر مشاهده کردید:
- نصب داکر
- اجرای دستور داکر بدون sudo (اختیاری)
- استفاده از دستور Docker
- کار با Docker Images
- اجرای یک کانتینر Docker
- مدیریت کانتینرهای Docker
- ایجاد تغییرات در یک کانتینر و تبدیل آن به Image
- Push (ارسال) Docker Image به مخزن داکر
اکنون که این اصول را یاد گرفتید، میتوانید به راحتی پروژههای خود را با استفاده از داکر مدیریت کنید. اگر به دنبال یک پلتفرم حرفهای برای میزبانی پروژههای خود هستید، میتوانید از خدمات ابری لیارا استفاده کنید که به شما امکان اجرای کانتینرها و اپلیکیشنها با سادهترین روشها را میدهد.