مطالب

نصب داکر بر روی لینوکس

مقدمه

داکر Docker یک برنامه کاربردی است که فرآیند مدیریت پردازش های برنامه ها را توسط مخزن ها Containers راحت تر می کند. مخزن ها منابع ایزوله شده ای هستند که اجازه می دهند پردازش برنامه های شما در آن محیط ها انجام شوند. آن ها بسیار شبیه به ماشین ها مجازی هستند ، اما مخزن ها قابل حمل (Portable) هستند و همچنین منابع سازگار بیشتری دارند وبه سیستم عامل میزبان وابسته هستند. در این آموزش نسخه عمومی Docker Community Edition (CE)  را نصب و استفاده می کنیم. خودتان Docker را نصب می کنید و با مخزن ها Containers و منبع ها Images کار می کنید ، و یک منبع image را به منابع Docker اضافه می کنید.

 

پیش نیاز ها

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

  • یک سرور مجازی Ubuntu 18..04 با دسترسی یک کاربر غیر ریشه non-root و عضو sudoer همراه با یک دیوار آتش Firewall.  
  • یک حساب کاربری در Docker Hube ، البته اگر می خواهید که یک image برای خودتان بسازید و طبق راهنمای مرحله ۷ و ۸ آن را در Docker Hub قرار دهید.
  • قبل از شروع مراحل لازم است آی پی شکن را در DNS سیستم اوبونتو اضافه کنیم که بتواند با سایت داکر در ارتباط باشیم.

مرحله اول – نصب Docker

بسته (package) نصب داکر در منابع رسمی اوبونتو موجود می باشد ولی ممکن است که آخرین نسخه در این منابع موجود نباشد برای همین آخرین نسخه را از منابع رسمی Docker نصب می کنیم. برای این کار منبع بسته (package source) جدید را به سیستم اضافه می کنیم و برای اطمینان از معتبر بودن دانلود بسته کلید GPG را اضافه می کنیم ، سپس بسته را نصب می کنیم.

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

sudo apt-get update

سپس ، تعدادی از بسته های پیش نیاز را با 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 bionic stable"

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

sudo apt update

در ادامه باید از اینکه نصب از منابع Docker به جای منابع پیش فرض Ubuntu  انجام می شود مطمئن شویم :

apt-cache policy docker-ce

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

docker-ce:

 Installed: (none)

 Candidate: 18.03.1~ce~3-0~ubuntu

 Version table:

    18.03.1~ce~3-0~ubuntu 500

       500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages

دقت کنید که docker-ce هنوز نصب نشده ولی برای نصب از منبع Docker بر روی Ubuntu 18.04 (bionic) انتخاب شده است.

در نهایت ، با دستور زیر Docker را نصب می کنیم :

sudo apt install docker-ce

اکنون Docker باید بر روی سیستم شما نصب شده باشد ، سرویس daemon آن اجرا شده باشد و هنگام راه اندازی مجدد سیستم (reboot) برای اجرای خودکار ، فعال (enable) شده باشد.

sudo systemctl status docker

خروجی این دستور باید مشابه زیر و نشان دهد که سرویس Docker در حال اجرا و فعال است :

docker.service - Docker Application Container Engine

  Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

  Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago

    Docs: https://docs.docker.com

Main PID: 10096 (dockerd)

   Tasks: 16

  CGroup: /system.slice/docker.service

          ├─10096 /usr/bin/dockerd -H fd://

          └─10113 docker-containerd --config /var/run/docker/containerd/containerd.toml

نصب کردن Docker فقط سرویس آن را در اخیتار شما قرار نمی دهد بلکه ابزار خط فرمان docker یا Docker Client نیز در اختیار شما هستند. بعدا در این آموزش درباره خط فرمان docker توضیح خواهیم داد.

مرحله دوم – اجرای دستور Docker بدون Sudo ( اختیاری )

به صورت پیش فرض دستور docker فقط با کاربر root در گروه docker که به صورت خودکار هنگام فرآیند نصب Docker ایجاد شده ، اجرا می شود. اگر بخواهید که دستور docker را بدون استفاده از sudo یا گروه docker اجرا کنید خروجی مشابه به این را مشاهده خواهید کرد :

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}

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

su - ${USER}

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

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

id -nG

Output

sammy sudo docker

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

sudo usermod -aG docker username

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

در ادامه به توضیح دستور docker می پردازیم.

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

دستور docker شامل زنجیره ای از گزینه ها (options) و دستوراتی است که دارای آرگومان و ورودی می باشد. قالب دستوری آن به این صورت می باشد :

docker [option] [command] [arguments]

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

Docker

در Docker 18 لیست کامل دستورات زیر مجموعه به این صورت است :

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

برای مشاهده گزینه های (options) قابل استفاده برای یک دستور زیر مجموعه ، دستور زیر را وارد کنید :

docker docker-subcommand –help

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

docker info

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

مرحله چهارم – کارکردن با Docker Images

مخزن های  Docker containers از منبع های داکر Docker images ساخته شده اند و به صورت پیش فرض ، Docker این image ها را از Docker Hub دریافت می کند ، که توسط شرکت Docker که تامین کننده آن نیز هست ، مدیریت می شود. هر کسی می تواند Docker images های خود را در Docker Hub قرار دهد ، بنابراین image بیشتر برنامه ها و توزیع های لینوکس که به آن نیاز دارید در آنجا وجود خواهند داشت.

برای بررسی امکان دسترسی و دانلود از Docker Hub ، دستور زیر را وارد کنید :

docker run hello-world

این خروجی نشان می دهد که Docker به درستی کار می کند :

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

9bb5a5d4561a: Pull complete

Digest: sha256:3e1764d0f546ceac4565547df2ac4907fe46f007ea229fd7ef2718514bcec35d

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 به صورت محلی (locally) نبوده ، سپس این image را که یک مخزن (container)پیش فرض است را از Docker Hub دانلود می کند. Docker به محض دانلود کردن image ، یک مخزن از آن ایجاد می کند و برنامه اجرا شده داخل مخزن ، پیغامی را نمایش می دهد.

با استفاده زیر دستور search با دستور docker می توانید image های قابل دسترس در Docker Hub را پیدا کنید. برای مثال برای پیدا کردن Ubuntu image ، دستور زیر را وارد کنید :

docker search ubuntu

این اسکریپت Docker Hub را جستجو کرده و لیستی از image های موجود را که نام آن ها با رشته ای که وارد کرده اید ، مطابقت داشته را نمایش می دهد. در این جا خروجی شما باید مشابه به این باشد :

NAME                                                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED

ubuntu                                                    Ubuntu is a Debian-based Linux operating sys…   7917                [OK]

dorowu/ubuntu-desktop-lxde-vnc                            Ubuntu with openssh-server and NoVNC            193                                     [OK]

rastasheep/ubuntu-sshd                                    Dockerized SSH service, built on top of offi…   156                                     [OK]

ansible/ubuntu14.04-ansible                               Ubuntu 14.04 LTS with ansible                   93                                      [OK]

ubuntu-upstart                                            Upstart is an event-based replacement for th…   87                  [OK]

neurodebian                                               NeuroDebian provides neuroscience research s…   50                  [OK]

ubuntu-debootstrap                                        debootstrap --variant=minbase --components=m…   38                  [OK]

1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5      ubuntu-16-nginx-php-phpmyadmin-mysql-5          36                                      [OK]

nuagebec/ubuntu                                           Simple always updated Ubuntu docker images w…   23                                      [OK]

tutum/ubuntu                                              Simple Ubuntu docker images with SSH access     18

i386/ubuntu                                               Ubuntu is a Debian-based Linux operating sys…   13

ppc64le/ubuntu                                            Ubuntu is a Debian-based Linux operating sys…   12

1and1internet/ubuntu-16-apache-php-7.0                    ubuntu-16-apache-php-7.0                        10                                      [OK]

1and1internet/ubuntu-16-nginx-php-phpmyadmin-mariadb-10   ubuntu-16-nginx-php-phpmyadmin-mariadb-10       6                                       [OK]

eclipse/ubuntu_jdk8                                       Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, …   6                                       [OK]

codenvy/ubuntu_jdk8                                       Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, …   4                                       [OK]

darksheer/ubuntu                                          Base Ubuntu Image -- Updated hourly             4                                       [OK]

1and1internet/ubuntu-16-apache                            ubuntu-16-apache                                3                                       [OK]

1and1internet/ubuntu-16-nginx-php-5.6-wordpress-4         ubuntu-16-nginx-php-5.6-wordpress-4             3                                       [OK]

1and1internet/ubuntu-16-sshd                              ubuntu-16-sshd                                  1                                       [OK]

pivotaldata/ubuntu                                        A quick freshening-up of the base Ubuntu doc…   1

1and1internet/ubuntu-16-healthcheck                       ubuntu-16-healthcheck                           0                                       [OK]

pivotaldata/ubuntu-gpdb-dev                               Ubuntu images for GPDB development              0

smartentry/ubuntu                                         ubuntu with smartentry                          0                                       [OK]

ossobv/ubuntu

...

در ستون OFFICIAL ، مقدار OK نشان دهنده این است که این image توسط شرکت تامین کننده آن پشتیبانی می شود. هر زمان image ای را که دوست داشتید پیدا کردید برای دانلود آن بر روی سیستم خودتان از زیر دستور pull استفاده کنید.

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

docker pull Ubuntu

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

Using default tag: latest

latest: Pulling from library/ubuntu

6b98dfc16071: Pull complete

4001a1209541: Pull complete

6319fc68c576: Pull complete

b24603670dc3: Pull complete

97f170c87c6f: Pull complete

Digest: sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d

Status: Downloaded newer image for ubuntu:latest

بعد از دانلود image ، می توانید مخزن (container) را با استفاده از image دانلود شده و با زیر دستور run اجرا کنید. البته همانطور که در مثال hello-world دیدیم ، زمانی که دستور docker را با زیر دستور run اجرا شود و image مورد نظر دانلود نشده باشد ، Docker client آن را ابتدا دانلود کرده و سپس اجرا می کند.

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

docker images

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

REPOSITORY          TAG IMAGE ID            CREATED SIZE

ubuntu              latest 113a43faa138        4 weeks ago 81.2MB

hello-world         latest e38bc07ac18e        2 months ago 1.85kB

همانطور که در ادامه این آموزش خواهیم دید ، می توانید image هایی که در مخزن ها (containers) اجرا کردید را ویرایش کرده و image جدید تولید کنید و آن ها را در Docker Hub آپلود کنید.

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

مرحله پنجم – اجرا کردن یک Docker Container

مخرن hello-wolrd که در مرحله قبل اجرا کردیم ، یک مثال از اجرای یک مخزن (container) و خارج شدن از آن پس از نمایش یک پیام آزمایشی است. مخزن ها شبیه به ماشین های مجازی هستند ، با کمی منابع سازگار تر و می توانند در تعامل و ارتباط ( با کاربر یا منابع دیگر) باشند و استفاده از آن ها بیش از آن چیزی است که دیدیم.

به عنوان مثال یک مخزن را با Ubuntu image اجرا می کنیم. استفاده از ترکیب گزینه های i- و t- دسترسی به پوسته (shell) در مخزن را به شما می دهد :

docker run -it Ubuntu

خط فرمان شما تغییر می کند و این نشانگر این است که در محیط خط فرمان مخزن هستید و شکل آن شبیه به این است :

root@d9b100f2f636:/#

در خط فرمان جدید شماره id مخزن (container) نمایش داده می شود که در این مثال d9b100f2f636 است. بعدا اگر لازم بود که این مخزن را حذف کنید به این شماره نیاز دارید.

اکنون هر دستوری را می توانید در مخزن اجرا کنید. برای مثال دیتابیس بسته های درون مخزن را به روز رسانی می کنیم. برای اجرای هیچکدام از دستورات نیاز نیست که از پیشوند sudo استفاده کنید ، زیرا شما در مخزن به عنوان کاربر root هستید.

root@d9b100f2f636:/# sudo apt update

سپس می توانید هر برنامه ای را که بخواهید در مخزن نصب کنید. برای مثال Node.js را نصب می کنیم :

root@d9b100f2f636:/#apt install nodejs

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

root@d9b100f2f636:/# node -v

نسخه برنامه نصب شده نمایش داده می شود :

v8.10.0

هر تغییری که در داخل مخزن (container) انجام دهید بر روی مخزن اعمال می شود.

برای خروج دستور exit را وارد کنید.

در ادامه به بررسی مدیریت مخازن موجود در سیستم می پردازیم.

مرحله ششم – مدیریت مخازن داکر – Managing Docker Containers

پس از مدتی استفاده از Docker ، مخزن های زیادی را به صورت فعال و غیر فعال در سیستم خود خواهید داشت. برای دیدن مخزن ها فعال از دستور زیر استفاده کنید :

docker apt

خروجی مشابه به این را مشاهده می کنید :

CONTAINER ID        IMAGE COMMAND             CREATED

تا اینجا در این آموزش از دو مخزن (container) استفاده کردیم که یکی از  hello-world image و دیگری از ubuntu image استفاده می کنند. هر دو این مخزن ها الان روی سیستم شما فعال نیستند ولی در سیستم وجود دارند.

برای دیدن همه مخزن های فعال و غیر فعال دستور docker ps را با گزینه a- وارد کنید :

docker ps –a

خروج شبیه به این را مشاهده می کنید :

d9b100f2f636        ubuntu "/bin/bash"         About an hour ago Exited (0) 8 minutes ago                           sharp_volhard

01c950718166        hello-world "/hello"            About an hour ago Exited (0) About an hour ago                       festive_williams

برای دیدن آخرین مخزن ای که ایجاد کردید از l- استفاده کنید :

docker ps -l

CONTAINER ID        IMAGE COMMAND             CREATED STATUS        PORTS NAMES

d9b100f2f636        ubuntu "/bin/bash"         About an hour ago Exited (0) 10 minutes ago                       sharp_volhard

برای اجرای یک مخزن (container) ای که متوقف شده است از docker start با شماره id مخزن مورد نظر یا نام مخزن استفاده کنید. در اینجا مخزن Ubuntu-base را با شماره ID آن d9b100f2f636 اجرا می کنیم :

docker start d9b100f2f636

مخزن مورد نظر مجددا اجرا شده و با دستور docker ps  می توانید وضعیت آن را مشاهده کنید :

docker ps

CONTAINER ID        IMAGE COMMAND             CREATED STATUS PORTS               NAMES

d9b100f2f636        ubuntu "/bin/bash"         About an hour ago Up 8 seconds                    sharp_volhard

برای متوقف کردن یک مخزن (container) از دستور docker stop با شماره ID آن مخزن یا نام آن مخزن استفاده کنید. در اینجا از نام sharp_volhard که Docker به مخزن داده است استفاده می کنیم :

docker stop sharp_volhard

هر زمان که به یک مخزن نیاز نداشتید می توانید آن را با دستور docker rm حذف کنید ، و در اینجا هم از نام یا شماره ID مخزن استفاده کنید. از دستور docker ps -a برای پیدا کردن شماره ID یا نام اختصاص داده شده به مخزنی که از  hello-world image ایجاد شده ، استفاده می کنیم و آن را حذف می کنیم.

docker rm festive_williams

می توانید با استفاده از گزینه name– با اجرا کردن مخزن جدید نام آن را مشاهده کنید. همچنین با استفاده از گزینه rm– مخزن جدید را اجرا کنید ، که بعد از متوقف کردن مخزن ، به صورت خودکار حذف می شود. با استفاده از دستور docker run help لیست کامل گزینه های موجود را به همراه توضیحات می توانید مطالعه کنید.

می توانید container ها را به image تبدیل کرده و container جدیدی را با استفاده از آن image اجرا کنید. در ادامه به توضیح این کار می پردازیم.

مرحله هفتم – اعمال تغییرات یک Container به یک Docker Image

وقتی که یک docker image را اجرا می کنید ، مانند یک ماشین مجازی می توانید فایل هایی را ایجاد ، حذف یا تغییر دهید. همه تغییراتی که انجام می دهید بر روی مخزن (container) اعمال می شود و همچنین می توانید آن را متوقف و اجرا کنید ، ولی با حذف مخزن با استفاده از دستور docker rm همه چیز از بین خواهد رفت.

در این مرحله خواهیم گفت که چطور وضعیت یک مخزن را ذخیره کرده و یک image جدید بسازید. بعد از نصب Node.js در اوبونتو ، در واقع یک مخزنی دارید که از یک image اجرا شده که الان این مخزن متفاوت از آن image ای است که در ابتدا مخزن را با آن اجرا کردید. و ممکن است که بعدا از مخزن Node.js به عنوان یک image پایه استفاده کنید.

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

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

وقتی که یک image  را commit می کنید ، image جدید به صورت محلی بر روی سیستم شما ذخیره می شود. در مرحله بعد خواهیم گفت که چطور یک image را در Docker ثبت کنید تا دیگران نیز بتوانند به آن دسترسی داشته باشند.

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

docker image

خروجی شبیه این است :

REPOSITORY               TAG IMAGE ID            CREATED SIZE

sammy/ubuntu-nodejs   latest 7c1f35226ca6        7 seconds ago 179MB

ubuntu                   latest 113a43faa138        4 weeks ago 81.2MB

hello-world              latest e38bc07ac18e        2 months ago 1.85kB

در این مثال ubuntu-nodejs یک image جدید است که از ubuntu image متعلق به Docker Hub گرفته شده است. تفاوت اندازه نیز این مطلب را تایید می کند. و در اینجا تغییرات Node.js نیز نصب شده است. بنابراین اگر مجددا نیاز داشتید که از Ubuntu همراه با NodeJS استفاده کنید ، فقط کافی است که از این image استفاده کنید.

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

در ادامه image جدید را با دیگران به اشتراک می گذاریم تا آنها نیز بتوانند از آن یک مخزن (container) ایجاد کنند.

مرحله هشتم – قرار دادن Docker Image در منابع Docker

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

در این جا یک image را در Docker Hub قرار می دهیم. برای اینکه یک Docker اختصاصی برای خودتان ایجاد کنید این مطلب را مطالعه کنید :

How To Set Up a Private Docker Registry on Ubuntu 14.04

برای قرار دادن image ابتدا وارد Docker Hub شوید :

docker login -u docker-registry-username

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

نکته : اگر نام کاربری Docker شما با نام کاربری سیستم محلی شما که با آن image جدید را ایجاد کردید متفاوت است ، باید برچسب (tag) با نام کاربری ثبت شده در Docker بزنید. برای آخرین مثالی که زدیم به این صورت باید عمل کنید :

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

سپس می توانید image خود را قرار دهید :

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

شکل دستوری برای قرار دادن ubuntu-nodejs image  به صورت زیر خواهد بود :

docker push sammy/ubuntu-nodejs

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

The push refers to a repository [docker.io/sammy/ubuntu-nodejs]

e3fbbfb44187: Pushed

5f70bf18a086: Pushed

a3b5c80a4eba: Pushed

7f18b442972b: Pushed

3ce512daaf78: Pushed

7aae4540b42d: Pushed

...

بعد از قرار دادن یک image ، باید در داشبورد حساب کاربری شما نمایش داده شود.

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

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 را تکرار کنید. سپس بررسی کنید که image در صفحه منابع Docker Hub موجود باشد.

اکنون می توانید از docker pull sammy/ubuntu-nodejs برای قرار دادن image در ماشین جدید استفاده کنید و با آن یک مخزن (container) جدید ایجاد کنید.

نمونه ای از ایمیج های کاربردی داکر را می توانید از طریق دستورهای ذیل بر روی سیستم خود منتقل نمائيد.

نصب ایمیج داکر nginx

docker pull nginx

نصب ایمیج داکر mongodb

docker pull mongodb

نصب جدیدترین ایمیج داکر apache

docker pull httpd

نصب جدیدترین ایمیج داکر node.js

docker pull node

نصب جدیدترین ایمیج داکر tomcat

docker pull tomcat

نصب جدیدترین ایمیج داکر ruby

docker pull ruby

نصب جدیدترین ایمیج داکر java

docker pull java:openjdk-8u102-jdk

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید