Docker برنامه ای است که پروسه مدیریت فرآیندهای برنامه را در کانتینرها را ساده می کند. کانتینرها به شما امکان می دهند برنامه های خود را در فرآیندهای جدا از منابع اجرا کنید. آنها شبیه به ماشین های مجازی هستند ، اما کانتینرها قابل حمل تر، سازگارتر با منابع و وابسته تر به سیستم عامل هاست هستند.
برای آشنایی دقیق با مؤلفه های مختلف یک کانتینر Docker ، اکوسیستم Docker: مقدمه ای برای مولفه های مشترک را بررسی کنید.
در این آموزش ، Docker Community Edition (CE) را در اوبونتو 20.04 نصب و استفاده خواهید کرد. شما خود Docker را نصب خواهید کرد ، با کانتینرها و تصاویر کار می کنید و یک تصویر را به مخزن Docker وارد می کنید.
پیش نیازها
برای دنبال کردن این آموزش به موارد زیر نیاز دارید:
• یک سرور مجازی Ubuntu 20.04 با پیروی از راهنمای تنظیم اولیه سرور مجازی Ubuntu 20.04 ، از جمله یک کاربر sudo غیر ریشه و فایروال راه اندازی شده.
• اگر می خواهید تصاویر خود را ایجاد کنید و آنها را به سمت Docker Hub هدایت کنید ، همانطور که در مراحل 7 و 8 نشان داده شده است ، یک حساب کاربری در Docker Hub ایجاد کنید.
مرحله 1 – نصب Docker
بسته نصب Docker موجود در مخزن رسمی اوبونتو ممکن است آخرین نسخه نباشد. برای اطمینان از آخرین نسخه ، Docker را از مخزن رسمی Docker نصب خواهیم کرد. برای انجام این کار ، یک منبع جدید بسته اضافه خواهیم کرد ، تا اطمینان حاصل شود که دانلودها معتبر هستند ، کلید GPG را از Docker اضافه کرده و سپس بسته را نصب کنید.
ابتدا لیست بسته های موجود را به روز کنید:
⦁ $ sudo apt update

در مرحله بعد ، چند بسته پیش نیاز را نصب کنید که اجازه استفاده از بسته ها را از طریق HTTPS به apt بدهد:
⦁ $ sudo apt install apt-transport-https ca-certificates curl software-properties-common

سپس کلید GPG را برای مخزن رسمی Docker به سیستم خود اضافه کنید:
⦁ $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

مخزن Docker را به منابع APT اضافه کنید:
⦁ $ sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable”

در مرحله بعد ، پایگاه داده بسته را با بسته های Docker از repo که تازه اضافه شده به روز کنید:
⦁ $ sudo apt update

مطمئن شوید که به جای repo پیش فرض اوبونتو قصد دارید از repo Docker نصب را انجام دهید:
⦁ $ apt-cache policy docker-ce

خروجی مشابه این را خواهید دید ، اگرچه ممکن است شماره نسخه Docker متفاوت باشد:
Output of apt-cache policy docker-ce
docker-ce:
Installed: (none)
Candidate: 5:19.03.9~3-0~ubuntu-focal
Version table:
5:19.03.9~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

توجه کنید که docker-ce نصب نشده است ، اما نامزد نصب، از مخزن Docker برای اوبونتو 20.04 است (focal).
در آخر ، Docker را نصب کنید:
⦁ $ sudo apt install docker-ce

اکنون باید Docker نصب شود ، Daemon شروع به کار کند و روند قادر به شروع در زمان بوت میشود. بررسی کنید که در حال اجرا است:
⦁ $ 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 Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 24321 (dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/docker.service
└─24321 /usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock

نصب Docker اکنون نه تنها سرویس Docker (Daemon) بلکه ابزار خط فرمان docker یا همان کلاینت Docker را به شما می دهد. ما نحوه استفاده از دستور docker را بعدا در این آموزش بررسی خواهیم کرد.
مرحله 2 – اجرای فرمان Docker بدون sudo (اختیاری)
به طور پیش فرض ، دستور docker فقط می تواند توسط کاربر root یا توسط یک کاربر در گروه docker اجرا شود ، که به طور خودکار در طی مراحل نصب Docker ایجاد می شود. اگر سعی کنید فرمان docker را بدون پیشوند آن با sudo یا بدون حضور در گروه docker اجرا کنید ، خروجی مانند این را دریافت خواهید کرد:
Output
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See ‘docker run –help’.

اگر می خواهید از تایپ کردن sudo اجتناب کنید ، هر زمان که دستور docker را اجرا کردید ، نام کاربری خود را به گروه docker اضافه کنید:
⦁ $ sudo usermod -aG docker ${USER}

برای اعمال عضویت در گروه جدید ، از سرور مجازی خارج شوید و دوباره وارد سیستم شوید یا دستور زیر را تایپ کنید:
⦁ $ su – ${USER}

برای ادامه از شما خواسته می شود رمزعبور کاربری خود را وارد کنید.
با تایپ کردن دستور زیر تأیید کنید که کاربر شما اکنون به گروه docker اضافه شده است:
⦁ $ id -nG

Output
sammy sudo docker

اگر نیاز دارید که یک کاربر را به گروه docker اضافه کنید که با آن وارد نشده اید ، آن نام کاربری را به صراحت اعلام کنید:
⦁ $ sudo usermod -aG docker username

بقیه این مقاله فرض می کنید که شما دستور docker را به عنوان کاربر در گروه docker اجرا می کنید. اگر این انتخاب را نکردید ، لطفاً دستورات را با sudo وارد کنید.
بیایید دستور docker را بررسی کنیم.
مرحله 3 – استفاده از دستور Docker
استفاده از docker شامل عبور از آن زنجیره ای گزینه ها و دستورات است که پس از آن آرگومان ها قرار می گیرند. ترکیب دستور به این شکل است:
⦁ $ docker [option] [command] [arguments]

برای مشاهده همه دستورات فرعی، تایپ کنید:
⦁ $ docker

در مورد Docker 19 ، لیست کاملی از زیرفرمان های موجود شامل موارد زیر است:
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

برای مشاهده اطلاعات گسترده سیستم درباره Docker ، از دستور زیر استفاده کنید:
⦁ $ docker info

بیایید برخی از این دستورات را بررسی کنیم. ما با کار با تصاویر شروع خواهیم کرد.
مرحله 4 – کار با تصاویر Docker
کانتینرهای Docker از تصاویر Docker ساخته شده اند. به طور پیش فرض ، Docker این تصاویر را از Docker Hub دریافت میکند ، یک رجیستری Docker که توسط Docker ، یعنی شرکت پشتیبان پروژه Docker اداره می شود. هر کسی می تواند تصاویر Docker خود را در Docker Hub میزبانی کند ، بنابراین بیشتر برنامه ها و توزیع های لینوکس مورد نیاز شما دارای تصاویر میزبانی شده در آنجا خواهند بود.
برای بررسی اینکه آیا می توانید به تصاویر در Docker Hub دسترسی پیدا کرده و آن ها دانلود کنید ، این دستور را تایپ کنید:
⦁ $ docker run hello-world

خروجی نشان می دهد که Docker به درستی کار میکند:
Output
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c

8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Docker در ابتدا قادر نبود تصویر hello world را به صورت لوکال پیدا کند ، بنابراین تصویر را از Docker Hub دانلود میکرد ، که مخزن پیش فرض میباشد. پس از دانلود تصویر ، Docker یک کانتینر از تصویر و برنامه موجود در داخل کانتینر را اجرا کرده و پیام را نمایش داد.
با استفاده از دستور docker با زیرفرمان search  می توانید تصاویر موجود در Docker Hub را جستجو کنید. به عنوان مثال ، برای جستجوی تصویر اوبونتو ، تایپ کنید:
⦁ $ docker search ubuntu

اسکریپت Docker Hub را خزش کرده و لیستی از تمام تصویرهایی را که نام آنها با رشته جستجو مطابقت دارد ، برمی گرداند. در این مورد، خروجی مشابه این خواهد بود:
Output
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 10908 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 428 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 244 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with “headless” VNC session… 218 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 108 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with

در ستون OFFICIAL ، ok ، تصویری را بیان میکند که توسط شرکت پشتیبان پروژه ساخته و پشتیبانی میشود. هنگامی که تصویری را که می خواهید از آن استفاده کنید مشخص کردید ، می توانید آن را با استفاده از زیرفرمان pull  در رایانه خود دانلود کنید.
دستور زیر را برای دانلود تصویر رسمی اوبونتو در رایانه خود اجرا کنید:
⦁ $ docker pull ubuntu

خروجی زیر را مشاهده خواهید کرد:
Output
Using default tag: latest
latest: Pulling from library/ubuntu
d51af753c3d3: Pull complete
fc878cd0a91c: Pull complete
6154df8ff988: Pull complete
fee5db0ff82f: Pull complete
Digest: sha256:747d2dbbaaee995098c9792d99b

d333c6783ce56150d1b11e333bbceed5c54d7
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

پس از دانلود یک تصویر ، می توانید یک کانتینر را با استفاده از تصویر دانلود شده با زیرفرمان run اجرا کنید. همانطور که با مثال hello world مشاهده کردید ، اگر هنگام اجرای docker با زیرفرمان run ، تصویری دانلود نشده است ، کلاینت Docker ابتدا تصویر را دانلود می کند ، سپس یک کانتینر را با استفاده از آن اجرا می کنید.
برای دیدن تصاویری که در رایانه شما دانلود شده است ، این دستور را تایپ کنید:
⦁ $ 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 Hub یا سایر رجیستری های Docker آپلود شود (اصطلاح فنی آنpushed  است).
بیایید ببینیم که چگونه کانتینرها را با جزئیات بیشتری اجرا کنیم.
مرحله 5 – اجرای یک کانتینر Docker
کانتینر hello-world شما که در مرحله قبل اجرا شد نمونه ای از کانتینری است که پس از انتشار یک پیام آزمایشی اجرا و ارائه می شود. کانتینرها می توانند بسیار مفیدتر از آن باشند و می توانند تعاملی باشند. از این گذشته ، آنها شبیه به ماشین های مجازی هستند ، فقط با منابع سازگار تر هستند.
به عنوان نمونه ، بگذارید کانتینری را با استفاده از آخرین تصویر اوبونتو اجرا کنیم. ترکیبی از سوئیچ های -i و -t به شما امکان دسترسی پوسته تعاملی به داخل کانتینرها را می دهد:
⦁ $ docker run -it ubuntu

اعلان فرمان شما باید تغییر کند تا منعکس کننده این واقعیت باشد که اکنون در داخل کانتینر کار می کنید و باید به شکل درآید:
Output
root@d9b100f2f636:/#

به شناسه کانتینر را در اعلان فرمان توجه داشته باشید. در این مثال d9b100f2f636 است. بعداً به آن شناسه کانتینر احتیاج دارید تا بتوانید کانتینر آن را حذف کنید.
اکنون می توانید هر دستوری را درون کانتینر اجرا کنید. به عنوان مثال ، بیایید پایگاه داده بسته را درون کانتینر به روز کنیم. لازم نیست که هر دستور را با sudo تنظیم کنید ، زیرا به عنوان کاربر اصلی در داخل کانتینر کار می کنید:
⦁ root@d9b100f2f636:/# apt update

سپس هر برنامه ای را در آن نصب کنید. بگذارید Node.js را نصب کنیم:
⦁ root@d9b100f2f636:/# apt install nodejs

این Node.js را در مخزن از مخزن رسمی اوبونتو نصب می کند. پس از اتمام نصب ، تأیید کنید که Node.js نصب شده است:
⦁ root@d9b100f2f636:/# node -v

شماره نسخه نمایش داده شده در ترمینال خود را مشاهده خواهید کرد:
Output
v10.19.0

هرگونه تغییر در داخل کانتینر فقط برای آن کانتینر اعمال می شود.
برای خروج از کانتینر ، exit را در اعلان تایپ کنید.
بیایید نگاهی به مدیریت کانتینرهای موجود در سیستم خود بیندازیم.
مرحله 6 – مدیریت کانتینرهای Docker
پس از مدتی استفاده از Docker ، بسیاری از کانتینرهای فعال (در حال اجرا) و غیرفعال را در رایانه خود خواهید داشت. برای مشاهده موارد فعال ، از دستور زیر استفاده کنید:
⦁ $ docker ps

خروجی مشابه زیر را مشاهده خواهید کرد:
Output
CONTAINER ID IMAGE COMMAND CREATED

در این آموزش ، دو کانتینر را شروع کردید. یکی از تصویر hello world و دیگری از تصویر ubuntu. هر دو کانتینردیگر در حال اجرا نیستند ، اما هنوز هم در سیستم شما وجود دارند.
برای مشاهده همه کانتینرها – فعال و غیرفعال ، docker ps را با کلید -a اجرا کنید:
⦁ $ docker ps -a

خروجی مشابه این را مشاهده خواهید کرد:
1c08a7a0d0e4 ubuntu “/bin/bash” 2 minutes ago Exited (0) 8 seconds ago quizzical_mcnulty
a707221a5f6c hello-world “/hello” 6 minutes ago Exited (0) 6 minutes ago youthful_curie

برای مشاهده جدیدترین کانتینری که ایجاد کرده اید ، سوئیچ -l را از آن عبور دهید:
⦁ $ docker ps -l

$ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

$ 1c08a7a0d0e4 ubuntu “/bin/bash” 2 minutes ago Exited (0) 40 seconds ago quizzical_mcnulty
$

برای شروع یک کانتینر متوقف شده ، از docker start استفاده کنید ، به دنبال آن شناسه کانتینر یا نام کانتینر می آید. بیایید کانتینر مستقر در اوبونتو را با شناسه 1c08a7a0d0e4 شروع کنیم:
⦁ $ docker start 1c08a7a0d0e4

کانتینر شروع می شود و می توانید از docker ps برای دیدن وضعیت آن استفاده کنید:
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c08a7a0d0e4 ubuntu “/bin/bash” 3 minutes ago Up 5 seconds quizzical_mcnulty

برای متوقف کردن یک کانتینر در حال اجرا ، از docker stop استفاده کنید ، به دنبال آن شناسه یا نام کانتینر درج میشود. این بار ، ما از اسمی استفاده می کنیم که Docker به کانتینر اختصاص داده است ، و quizzical_mcnulty میباشد:
⦁ $ docker stop quizzical_mcnulty

وقتی تصمیم گرفتید که دیگر نیازی به کانتینر نداشته باشید ، آنرا با دستور docker rm ، دوباره با استفاده از شناسه کانتینر یا نام آن جدا کنید. از دستور docker ps -a برای یافتن شناسه یا نام کانتینر مربوط به تصویر مربوط به hello world استفاده کنید و آن را حذف کنید.
⦁ $ docker rm youthful_curie

می توانید کانتینر جدیدی را راه اندازی کرده و با استفاده از سوئیچ –name آن را نامگذاری کنید. همچنین می توانید برای ایجاد یک کانتینر در صورت متوقف شدن ، از کلید سوئیچ –rm استفاده کنید. برای اطلاعات بیشتر در مورد این گزینه ها و سایر موارد ، به فرمان docker run help مراجعه کنید.
کانتینرها را می توان به تصاویری تبدیل کرد که می توانید از آنها برای ساخت کانتینرهای جدید استفاده کنید. بیایید ببینیم که چگونه این کار می کند.
مرحله 7 – انجام تغییرات در یک کانتینر روی یک تصویر Docker
هنگامی که یک تصویر Docker را راه اندازی می کنید ، می توانید درست مانند یک ماشین مجازی ، فایل ها را ایجاد ، اصلاح و حذف کنید. تغییراتی که ایجاد می کنید فقط در مورد آن کانتینر اعمال می شود. می توانید آن را شروع و متوقف کنید ، اما هنگامی که آن را با دستور docker rm از بین میبرید ، تغییرات به راحتی از بین می روند.
در این بخش نحوه ذخیره حالت یک کانتینر به عنوان تصویر جدید Docker به شما نشان داده می شود.
پس از نصب Node.js در داخل کانتینر اوبونتو ، اکنون یک کانتینر در حال متوقف کردن تصویر وجود دارد ، اما این کانتینر با کانتینری که برای ایجاد تصویر استفاده کردید، فرق می کند. اما ممکن است بخواهید بعداً از این کانتینرهایNode.js به عنوان پایه ای برای تصاویر جدید استفاده کنید.
سپس با استفاده از دستور زیر تغییرات را به عنوان نمونه جدید Docker انجام دهید.
⦁ $ docker commit -m “What you did to the image” -a “Author Name” container_id repository/new_image_name

سوئیچ -m f برای پیام تعهدی است که به شما و دیگران کمک می کند بدانند چه تغییراتی ایجاد کرده اید ، در حالی که -a برای مشخص کردن نویسنده استفاده می شود. bowl_id همان چیزی است که شما در ابتدای آموزش هنگام ذکر جلسه تعاملی Docker یادداشت کردید. مخزن معمولاً نام کاربری Docker Hub شماست، مگر اینکه مخازن اضافی را در Docker Hub ایجاد کرده باشید.
به عنوان مثال ، برای کاربر sammy ، با شناسه کانتینر d9b100f2f636 ، دستور زیر را خواهیم داشت:
⦁ $ docker commit -m “added Node.js” -a “sammy” d9b100f2f636 sammy/ubuntu-nodejs

وقتی یک تصویر را ارائه می کنید ، تصویر جدید به صورت محلی در رایانه شما ذخیره می شود. بعداً در این آموزش ، یاد می گیرید که چگونه یک تصویر را به رجیستری Docker مانند Docker Hub وارد کنید تا دیگران بتوانند به آن دسترسی پیدا کنند.
دوباره لیست کردن تصاویر Docker ، تصویر جدید و همچنین قدیمی که از آن گرفته شده است را نشان می دهد:
⦁ $ docker images

خروجی مانند این را خواهید دید:
Output
REPOSITORY TAG IMAGE ID CREATED SIZE
sammy/ubuntu-nodejs latest 7c1f35226ca6 7 seconds ago 179MB

در این مثال ، ubuntu-nodejs تصویر جدید است که از تصویر موجود اوبونتو از Docker Hub گرفته شده است. تفاوت اندازه نشان دهنده تغییراتی است که ایجاد شده است. و در این مثال ، تغییر در نصب NodeJS بود. بنابراین دفعه دیگر که باید با استفاده از اوبونتو با پیش نصب NodeJS یک کانتینر را اجرا کنید ، می توانید از تصویر جدید استفاده کنید.
همچنین می توانید تصاویر را از یک Dockerfile بسازید ، که به شما امکان می دهد نصب نرم افزار را در یک تصویر جدید خودکار کنید. با این حال ، این مسئله خارج از محدوده این آموزش است.
حال بگذارید تصویر جدید را با دیگران به اشتراک بگذاریم تا بتوانند کانتینرها را از آن ایجاد کنیم.
مرحله 8 – وارد کردن تصاویر Docker به مخزن Docker
مرحله منطقی بعدی پس از ایجاد یک تصویر جدید از یک تصویر موجود ، به اشتراک گذاری آن با چند نفر از دوستانتان ، کل جهان موجود در Docker Hub یا سایر رجیستری های Docker است که به آن دسترسی دارید. برای وارد کردن یک تصویر به Docker هاب یا هر رجیستری دیگر Docker ، باید در آنجا یک حساب کاربری داشته باشید.
در این بخش نحوه ورود تصویر Docker به Docker Hub به شما نشان داده می شود. برای یادگیری نحوه ایجاد رجیستری خصوصی Docker خود ، مقاله نحوه تنظیم یک رجیستری Docker خصوصی در اوبونتو 14.04 را بررسی کنید.
برای وارد کردن تصویر ، ابتدا وارد Docker Hub شوید.
⦁ $ docker login -u docker-registry-username

از شما خواسته می شود با استفاده از گذرواژه Docker Hub اعتبار خود را تأیید کنید. اگر گذرواژه صحیح را وارد کنید ، تأیید اعتبار باید موفق آمیز باشد.
توجه: اگر نام کاربری رجیستری Docker شما با نام کاربری محلی که برای ایجاد تصویر از آن استفاده کرده اید متفاوت است ، باید تصویر خود را با نام کاربری رجیستری خود تگ کنید. برای مثالی که در مرحله آخر آورده شده است ، باید تایپ کنید:
⦁ $ docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs

سپس می توانید با استفاده از دستور زیر تصویر را وارد کنید:
برای وارد کردن تصویر ubuntu-nodejs به مخزن sammy ، این دستور عبارت است از:
⦁ $ docker push sammy/ubuntu-nodejs

ممکن است این فرآیند آپلود کردن تصاویر مدتی طول بکشد ، اما پس از اتمام ، خروجی به این صورت خواهد بود:
Output
The push refers to a repository [docker.io/sammy/ubuntu-nodejs]
e3fbbfb44187: Pushed
5f70bf18a086: Pushed
a3b5c80a4eba: Pushed
7f18b442972b: Pushed
3ce512daaf78: Pushed
7aae4540b42d: Pushed

پس از وارد کردن تصویر به رجیستری ، باید مانند صفحه نمایش تصویر زیر ، در داشبورد حساب شما فهرست شود.

اگر تلاش برای وارد کردن تصویر منجر به خطایی از این دست شود ، احتمالاً log in نشده اید:
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 وارد شوید و تلاش برای ورود را تکرار کنید. سپس تأیید کنید که در صفحه مخزن Docker Hub شما وجود دارد.
اکنون می توانید با استفاده از docker pull sammy / ubuntu-nodejs ، تصویر را به دستگاه جدید وارد کنید و از آن برای اجرای یک کانتینر جدید استفاده کنید.
نتیجه
در این آموزش Docker را نصب کرده اید ، با تصاویر و کانتینرها کار کرده اید و یک تصویر اصلاح شده را به Docker Hub وارد کرده اید.

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نحوه نصب و استفاده از Docker در اوبونتو 20.04

نحوه راه اندازی Nginx با پشتیبانی HTTP / 2 در اوبونتو 18.04

چگونه می توان پلتفرم Cloud IDE کد سرور را روی Debian 10 تنظیم كرد

نحوه دسترسی از راه دور به برنامه های GUI با استفاده از Docker و Caddy در Debian 10

چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7 تنظیم كرد

نحوه دسترسی از راه دور به برنامه های GUI با استفاده از Docker و Caddy در اوبونتو 20.04

نحوه دسترسی از راه دور به برنامه های GUI با استفاده از Docker و Caddy در Debian 9

 

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 

برچسب‌ها:,