زیرساخت ابری هایو

نصب Docker در Ubuntu 20.04

فهرست مطالب

Docker پلتفرمی رایگان و متن بازی است که مدیریت فرآیندهای برنامه ازجمله ایجاد، پیاده سازی و اجرای برنامه ها را در کانتینرها ساده می کند.

کانتینرها به شما این امکان را می دهند که برنامه های خود را در محیط های جدا شده و به صورت مستقل اجرا کنید.

آنها شبیه به ماشین‌های مجازی هستند، اما کانتینرها انعطاف پذیرتر و بیشتر وابسته به سیستم عامل میزبان هستند.

در این آموزش، Docker Community Edition (CE) را در اوبونتو 20.04 نصب و استفاده خواهید کرد.

شما خود Docker را نصب می‌کنید، با کانتینرها و ایمیج ها کار می‌کنید و یک ایمیج را در یک مخزن Docker قرار می‌دهید.

نصب داكر

پیش نیازهاي نصب Docker

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

  • یک سرور دارای سیستم عامل اوبونتو 20.04 که با پیروی از مقاله تنظیمات اولیه سرور اوبونتو 20.04تنظیمات اولیه سرور Ubuntu 20.04 پیکربندی شده باشد.
  • یک کاربر غیر از روت به همراه دسترسی sudo  و یک فایروال راه اندازی شده
  • برای مراحل 7 و 8 نیاز خواهید داشت در Docker Hub یک حساب کاربری داشته باشید.

بسته نصبی Docker موجود در مخزن رسمی اوبونتو ممکن است آخرین نسخه نباشد.

برای اطمینان از دریافت آخرین نسخه آن، Docker را از مخزن رسمی Docker نصب می کنیم.

برای انجام این کار، یک منبع جدید اضافه می کنیم، کلید GPG را از Docker اضافه می کنیم تا مطمئن شویم دانلودها معتبر هستند و سپس بسته را نصب می کنیم.

ابتدا لیست بسته های موجود خود را به روز کنید:

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 apt-key add -

مخزن Docker را به منابع APT اضافه کنید:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

این دستور همچنین پایگاه داده بسته های ما را با بسته های Docker از مخزن جدید اضافه شده به روز می کند.

مطمئن شوید که در حال نصب از مخزن Docker به جای مخزن پیش‌فرض اوبونتو هستید:

apt-cache policy docker-ce

خروجی مانند زیر خواهید دید، اگرچه شماره نسخه Docker ممکن است برای شما متفاوت باشد:

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 نصب نشده است، حال باید آن را نصب کنیم:

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 Daemon) بلکه ابزار خط فرمان Docker یا کلاینت داکر را نیز در اختیار شما قرار می دهد.

در ادامه این آموزش نحوه استفاده از دستور docker را بررسی خواهیم کرد.

مرحله 2 – اجرای دستور 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'.

اگر می خواهید هر زمان که دستور docker را اجرا می کنید از تایپ کردن  sudo خودداری کنید، نام کاربری خود را به گروه docker اضافه کنید:

sudo usermod -aG docker ${USER}

برای اعمال عضویت گروه جدید، از سرور خارج شده و دوباره وارد شوید، یا عبارت زیر را تایپ کنید:

su - ${USER}

برای ادامه، از شما خواسته می شود رمز عبور کاربر خود را وارد کنید.

با تایپ کردن دستور زیر ، بررسی کنید که کاربر شما اکنون به گروه docker اضافه شده است یا خیر :

groups
Output
sammy sudo docker

اگر می‌خواهید کاربری را به گروه  docker اضافه کنید که با آن وارد نشده‌اید، آن نام کاربری را صریحاً با استفاده از دستور زیر وارد نمایید:

sudo usermod -aG docker username

در بقیه این مقاله فرض می کنیم که شما دستور داکر را به عنوان یک کاربر در گروه docker اجرا می کنید. اگر نمی‌خواهید، لطفاً دستورات را با پیشوند sudo وارد کنید.

اجازه دهید دستور بعدی داکر را بررسی کنیم.

مرحله 3 – استفاده از دستور Docker

نحوه استفاده از داکر برای ارسال زنجیره ای گزینه ها و دستورات به همراه یک سری از آرگومان هاست. مانند:

docker [option] [command] [arguments]

برای مشاهده تمام دستورات فرعی موجود، دستور زیر را تایپ کنید:

docker

لیست کاملی از دستورات فرعی موجود در Docker  شامل موارد زیر است:

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 Images

کانتینرهای داکر از ایمیج داکر ساخته شده اند.

به‌طور پیش‌فرض، Docker این ایمیج ها را از Docker Hub، که توسط خود سازنده ایجاد شده است بر می دارد.

هرکسی می‌تواند ایمیج های 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:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest

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

...

داکر در ابتدا قادر به یافتن ایمیج hello-world به صورت محلی نبود، بنابراین این ایمیج را از داکر هاب، که مخزن پیش فرض است، دانلودمی کرد.

پس از بارگیری ایمیج ، داکر یک کانتینر از آن ایمیج ایجاد می کرد و برنامه را درون آن کانتینر اجرا می کرد و پیام را نمایش می داد.

در داکر با استفاده از فرمان 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 اوکی  ایمیج را نشان می دهد که توسط شرکت پشتیبان پروژه ساخته و پشتیبانی می شود.

هنگامی که ایمیجی را که می خواهید از آن استفاده کنید را شناسایی کردید، می توانید آن را با استفاده از دستور فرعی pull در رایانه خود دانلود کنید.

دستور زیر را برای دانلود ایمیج رسمی  ubuntu در رایانه خود این دستور را اجرا کنید:

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:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7
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 آپلود شوند .

بیایید نحوه اجرای کانتینرها را با جزئیات بیشتر بررسی کنیم.

مرحله 5 – اجرای یک Docker Container

کانتینری که hello-world را در مرحله قبل در آن اجرا کردید نمونه ای از کانتینری است که پس از ارسال یک پیام آزمایشی اجرا می شود و از آن خارج می شود. کانتینرها می توانند بسیار مفیدتر از آن باشند و می توانند تعاملی باشند.

پس از همه، آنها شبیه به ماشین های مجازی هستند، فقط منابع در آن ها بهینه تر است.

به عنوان مثال، اجازه دهید یک کانتینر را با استفاده از آخرین ایمیج اوبونتو اجرا کنیم.

ترکیب سوئیچ های i- و t- به شما امکان دسترسی تعاملی پوسته به کانتینر را می دهد:

docker run -it ubuntu

خط فرمان شما باید تغییر کند تا این نکته را به شما منعکس کند که اکنون در داخل کانتینر کار می کنید و باید به این شکل باشد:

Output
root@d9b100f2f636:/#

به شناسه کانتینر در خط فرمان توجه کنید.

در این مثال، آن d9b100f2f636 است . وقتی می‌خواهید از کانتینر استفاده کنید، به شناسه کانتینر نیاز دارید تا آن را شناسایی کنید.

اکنون می توانید هر دستوری را در داخل کانتینر اجرا کنید.

به عنوان مثال، بیایید پایگاه داده بسته را در داخل کانتینر به روز کنیم.

شما نیازی به پیشوند هیچ دستوری با sudo ندارید، زیرا به عنوان کاربر ریشه در داخل کانتینر کار می کنید:

apt update

سپس هر اپلیکیشنی را در آن نصب کنید. بیایید Node.js را نصب کنیم:

apt install nodejs

Node.js را از مخزن رسمی اوبونتو نصب می کند.

پس از اتمام نصب، با دستور زیر بررسی کنید که Node.js نصب شده باشد:

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- استفاده کنید:

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 و به دنبال آن شناسه یا نام کانتینر استفاده کنید.

این بار از نامی که داکر به کانتینر اختصاص داده است استفاده خواهیم کرد که عبارت است از quizzical_mcnulty:

docker stop quizzical_mcnulty

هنگامی که تصمیم گرفتید دیگر نیازی به کانتینر ندارید، آن را با دستور docker rm حذف کنید و دوباره از شناسه کانتینر یا نام استفاده کنید.

از دستور docker ps -a برای یافتن شناسه یا نام کانتینر مرتبط با ايميج hello-world و حذف آن استفاده کنید.

docker rm youthful_curie

با استفاده از name– می توانید یک کانتینر جدید راه اندازی کنید و با استفاده از سوئیچ نامی برای آن بگذارید .

همچنین می‌توانید از سوئیچ rm– برای ایجاد كانتينري استفاده کنید که پس از توقف، خود را حذف می‌کند.

برای اطلاعات بیشتر در مورد این گزینه ها و سایر گزینه ها به دستور docker run help مراجعه کنید .

کانتینرها را می توان به ايميج هايي تبدیل کرد که می توانید از آنها برای ساخت كانتينر جدید استفاده کنید. بیایید ببینیم که اين چگونه کار می کند.

مرحله 7 – انجام تغییرات در یک کانتینر در یک ايميج داکر

هنگامی که یک ايميج داكر را راه اندازی می کنید، می توانید مانند یک ماشین مجازی فایل ها را ایجاد، اصلاح و حذف کنید.

تغییراتی که ایجاد می کنید فقط برای آن كانتينر اعمال می شود.

می توانید آن را شروع و متوقف کنید، اما وقتی بادستور docker rm آن را از بین ببرید، تغییرات برای همیشه از بین می روند.

این بخش به شما نشان می دهد که چگونه وضعیت یک کانتینر را به عنوان یک ايميج داکر جدید ذخیره کنید.

پس از نصب Node.js در داخل کانتینر اوبونتو، اکنون یک کانتینر در حال اجرا از یک ايميج داريد، اما كانتينر يا ايميجي که برای ایجاد آن استفاده کرده اید متفاوت است.

اما ممکن است بخواهید بعداً از این کانتینر Node.js به عنوان مبنایی برای ايميج جدید استفاده کنید.

سپس با استفاده از دستور زیر تغییرات را در یک نمونه جدید از ايميج Docker ذخيره كنيد.

docker commit -m "What you did to the image" -a "Author Name" container_id repository/new_image_name

سوئیچ m– برای كامنت گذاري است که به شما و دیگران کمک می کند تا بدانید چه تغییراتی ایجاد کرده اید، در حالی که a- برای تعیین نویسنده استفاده می شود.

container_id همان چیزی است که قبلاً  هنگام شروع مقاله Docker به آن اشاره کردید.

معمولاً نام کاربری Docker Hub شما repository است، مگر اینکه مخازن اضافی در Docker Hub ایجاد کرده باشید.

به عنوان مثال، برای کاربر sammy ، با شناسه کانتینر d9b100f2f636، دستور به صورت زیر خواهد بود:

docker commit -m "added Node.js" -a "sammy" d9b100f2f636 sammy/ubuntu-nodejs

هنگامی که یک تصویر را ارسال می کنید، تصویر جدید به صورت محلی در رایانه شما ذخیره می شود.

بعداً در این آموزش، یاد خواهید گرفت که چگونه یک ايميج  را در یک رجیستری Docker مانند Docker Hub قرار دهید تا دیگران هم بتوانند به آن دسترسی داشته باشند.

با فهرست کردن مجدد ايميج هاي داکر، ايميج جدید و همچنین ايميج قدیمی که از آن مشتق شده است نشان داده می شود:

docker images

خروجی را مانند این خواهید دید:

Output    
REPOSITORY                       TAG                IMAGE ID                                       CREATED                            SIZE
sammy/ubuntu-nodejs        latest              7c1f35226ca6                           7 seconds ago                         179MB
...

در این مثال، ubuntu-nodejs ايميج جدید است که از ايميج  ubuntu موجود از Docker Hub مشتق شده است.

تفاوت حجم آن ها نشان دهنده تغییرات ایجاد شده است.

و در این مثال تغییر این بود که NodeJS در آن كانيتنر نصب شده است.

بنابراین دفعه بعد که نیاز به اجرای یک کانتینر با استفاده از اوبونتو همراه با NodeJS از پیش نصب شده دارید، فقط می توانید از اين ايميج جدید استفاده کنید.

همچنین می توانید ايميج ها را از یک Dockerfile بسازیدکه به شما امکان می دهد نصب نرم افزار را در یک ايميج جدید را به طور خودکار انجام دهید.

با این حال، این خارج از محدوده این آموزش است.

حالا بیایید ايميج جدید را با دیگران به اشتراک بگذاریم تا ديگران هم بتوانند از اين كانتينر ها استفاده كنند.

مرحله 8 – انتقال ايميج داكر به مخزن Docker Hub

مرحله بعدی پس از ایجاد یک ايميج جدید از یک ايميج موجود این است که آن را با تعدادی از دوستان منتخب خود يا کل جهان در Docker Hub یا سایر رجیستری های Docker که به آنها دسترسی دارید به اشتراک بگذارید.

برای ارسال یک ايميج به Docker Hub یا هر رجیستری Docker دیگر، باید یک حساب كاربري در آنجا داشته باشید.

این بخش به شما نشان می دهد که چگونه یک ايميج Docker را در Docker Hub قرار دهید.

برای قرار دادن ايميج خود، ابتدا وارد داکر هاب شوید.

docker login -u docker-registry-username

از شما خواسته می شود با استفاده از رمز عبور Docker Hub خود را احراز هویت کنید.

اگر رمز عبور صحیح را واردکرده اید، احراز هویت باید با موفقیت انجام شود.

توجه: اگر نام کاربری شما در داكرهاب با نام کاربری محلی که برای ایجاد ايميج استفاده کرده اید متفاوت است، باید ايميج خود را با نام کاربری داكر هاب خود تگ کنید. برای اين مثال داده شده در مرحله آخر، باید دستور زير را تایپ کنید:

docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs

سپس می توانید تصویر خود را با استفاده از دستور زير در داكر هاب قرار دهيد:

docker push docker-registry-username/docker-image-name

برای قراردادن ايميج 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
...

پس از قرار دادن یک ايميج در یک حساب كاربري داكر هاب ، باید آن در داشبورد حساب شما ديده شود، مانند آنچه در تصویر زیر نشان داده شده است.

نصب docker

اگر تلاش براي قرار دادن ايميج منجر به این نوع خطا شود، احتمالاً وارد سیستم نشده اید:

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 منتقل کردید.

نیاز به راهنمایی بیشتر دارید؟
عجله دارید؟ 02156218439
رایگان آموزش ببین - آموزش کار با سرویس های هایو

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *