Giriş
Docker , konteynerlerdeki uygulama süreçlerini yönetme sürecini basitleştiren bir uygulamadır . Kapsayıcılar, uygulamalarınızı kaynak yalıtımlı süreçlerde çalıştırmanıza olanak tanır. Sanal makinelere benzerler, ancak kapsayıcılar daha taşınabilir, daha kaynak dostu ve ana bilgisayar işletim sistemine daha bağımlıdır.
Bir Docker konteynerinin farklı bileşenlerine ayrıntılı bir giriş için Docker Ekosistemi: Ortak Bileşenlere Giriş konusuna bakın .
Bu eğiticide, Ubuntu 18.04 üzerinde Docker Community Edition’ı (CE) kuracak ve kullanacaksınız. Docker’ın kendisini kuracak, kapsayıcılar ve görüntülerle çalışacak ve Docker Deposuna bir görüntü göndereceksiniz.
Önkoşullar
Bu öğreticiyi takip etmek için aşağıdakilere ihtiyacınız olacak:
- Sudo root olmayan bir kullanıcı ve bir güvenlik duvarı dahil olmak üzere Ubuntu 18.04 ilk sunucu kurulum kılavuzunu takip ederek bir Ubuntu 18.04 sunucusu kuruldu .
- Kendi görüntülerinizi oluşturmak ve bunları Adım 7 ve 8’de gösterildiği gibi Docker Hub’a göndermek istiyorsanız Docker Hub’da bir hesap .
Adım 1 – Docker’ı Kurmak
Resmi Ubuntu deposunda bulunan Docker kurulum paketi en son sürüm olmayabilir. En son sürümü aldığımızdan emin olmak için Docker’ı resmi Docker deposundan kuracağız. Bunu yapmak için yeni bir paket kaynağı ekleyeceğiz, indirmelerin geçerli olduğundan emin olmak için Docker’dan GPG anahtarını ekleyeceğiz ve ardından paketi yükleyeceğiz.
Öncelikle, mevcut paket listenizi güncelleyin:
sudo apt update
Ardından, apt
paketlerin HTTPS üzerinden kullanılmasına izin veren birkaç ön koşul paketi kurun :
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Ardından, resmi Docker deposu için GPG anahtarını sisteminize ekleyin:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Docker deposunu APT kaynaklarına ekleyin:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Ardından, paket veritabanını yeni eklenen depodaki Docker paketleriyle güncelleyin:
sudo apt update
Varsayılan Ubuntu deposu yerine Docker deposundan yükleme yapmak üzere olduğunuzdan emin olun:
apt-cache policy docker-ce
Docker için sürüm numarası farklı olsa da, şu şekilde çıktı göreceksiniz:Apt-cache politikası docker-ce çıktısı
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
Bunun docker-ce
yüklü olmadığına dikkat edin , ancak yükleme adayı Ubuntu 18.04 için Docker deposundan ( bionic
).
Son olarak Docker’ı kurun:
sudo apt install docker-ce
Docker şimdi kurulmalı, arka plan programı başlatılmalı ve işlem önyüklemede başlayacak şekilde etkinleştirilmelidir. Çalıştığını kontrol edin:
sudo systemctl status docker
Çıktı, hizmetin etkin ve çalıştığını gösterecek şekilde aşağıdakine benzer olmalıdır:
Output● 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’ı kurmak artık size sadece Docker hizmetini (daemon) değil, aynı zamanda docker
komut satırı yardımcı programını veya Docker istemcisini de veriyor . docker
Komutun nasıl kullanılacağını bu öğreticide daha sonra inceleyeceğiz.
Adım 2 – Docker Komutunu Sudo Olmadan Yürütme (İsteğe Bağlı)
Varsayılan olarak, docker
komut yalnızca kök kullanıcı tarafından veya Docker’ın kurulum işlemi sırasında otomatik olarak oluşturulan docker grubundaki bir kullanıcı tarafından çalıştırılabilir . Docker grubunda olmadan veya olmadan docker
komutu çalıştırmaya çalışırsanız , aşağıdaki gibi bir çıktı alırsınız:sudo
Outputdocker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.
Komutu sudo
her çalıştırdığınızda yazmaktan kaçınmak istiyorsanız docker
, kullanıcı adınızı docker
gruba ekleyin :
sudo usermod -aG docker ${USER}
Yeni grup üyeliğini uygulamak için sunucudan çıkıp tekrar oturum açın veya aşağıdakileri yazın:
su - ${USER}
Devam etmek için kullanıcı şifrenizi girmeniz istenecektir.
Kullanıcınızın artık docker grubuna eklendiğini şunu yazarak onaylayın :
id -nG
Outputsammy sudo docker
docker
Gruba giriş yapmadığınız bir kullanıcı eklemeniz gerekiyorsa , bu kullanıcı adını açıkça şunu kullanarak bildirin:
sudo usermod -aG docker username
Bu makalenin geri kalanı, docker
komutu docker grubunda bir kullanıcı olarak çalıştırdığınızı varsayar . Yapmamayı seçerseniz, lütfen komutların başına ekleyin sudo
.
Şimdi docker
komutu inceleyelim .
Adım 3 – Docker Komutunu Kullanma
Kullanımı docker
, ona bir seçenekler ve komutlar zincirini ve ardından argümanları iletmekten ibarettir. Sözdizimi şu biçimi alır:
docker [option] [command] [arguments]
Mevcut tüm alt komutları görüntülemek için şunu yazın:
docker
Docker 18’den itibaren, mevcut alt komutların tam listesi şunları içerir:
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
Belirli bir komutun kullanabileceği seçenekleri görüntülemek için şunu yazın:
docker docker-subcommand --help
Docker hakkında sistem genelindeki bilgileri görüntülemek için şunu kullanın:
docker info
Bu komutlardan bazılarını inceleyelim. Resimlerle çalışarak başlayacağız.
Adım 4 – Docker Görüntüleriyle Çalışma
Docker kapsayıcıları Docker görüntülerinden oluşturulur. Varsayılan olarak Docker, bu görüntüleri Docker projesinin arkasındaki şirket olan Docker tarafından yönetilen bir Docker kayıt defteri olan Docker Hub’dan çeker . Herkes Docker görüntülerini Docker Hub’da barındırabilir, bu nedenle ihtiyaç duyacağınız çoğu uygulama ve Linux dağıtımında barındırılan görüntüler olacaktır.
Docker Hub’daki görüntülere erişip erişemeyeceğinizi ve indirip indiremeyeceğinizi kontrol etmek için şunu yazın:
docker run hello-world
Çıktı, Docker’ın doğru çalıştığını gösterecektir:
OutputUnable 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 başlangıçta hello-world
imajı yerel olarak bulamadı , bu yüzden imajı varsayılan depo olan Docker Hub’dan indirdi. Görüntü indirildikten sonra Docker, görüntüden bir kapsayıcı oluşturdu ve kapsayıcı içindeki uygulama yürütüldü ve mesajı görüntüledi.
Alt docker
komutla komutu kullanarak Docker Hub’da bulunan görüntüleri arayabilirsiniz search
. Örneğin, Ubuntu görüntüsünü aramak için şunu yazın:
docker search ubuntu
Komut dosyası Docker Hub’ı tarar ve adı arama dizesiyle eşleşen tüm görüntülerin bir listesini döndürür. Bu durumda çıktı şuna benzer olacaktır:
OutputNAME 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
...
Gelen RESMİ sütunda, Tamam bir görüntü inşa edilmiş ve projenin arkasındaki şirket tarafından desteklenen gösterir. Kullanmak istediğiniz görüntüyü belirledikten sonra, pull
alt komutu kullanarak bilgisayarınıza indirebilirsiniz .
Resmi ubuntu
resmi bilgisayarınıza indirmek için aşağıdaki komutu yürütün :
docker pull ubuntu
Aşağıdaki çıktıyı göreceksiniz:
OutputUsing 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
Bir görüntü indirildikten sonra, indirilen görüntüyü run
alt komutla kullanarak bir kapsayıcıyı çalıştırabilirsiniz . Birlikte gördüğümüz gibi hello-world
, örneğin zaman bir görüntü indirilmemesi durumunda, docker
birlikte yürütüldüğünde run
alt komutuyla, Docker istemci ilk önce, görüntü indirmek kullanmadan bir kap çalışacaktır.
Bilgisayarınıza indirilen resimleri görmek için şunu yazın:
docker images
Çıktı aşağıdakine benzer görünmelidir:
OutputREPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 113a43faa138 4 weeks ago 81.2MB
hello-world latest e38bc07ac18e 2 months ago 1.85kB
Bu öğreticide daha sonra göreceğiniz gibi, kapsayıcıları çalıştırmak için kullandığınız görüntüler değiştirilebilir ve yeni görüntüler oluşturmak için kullanılabilir, bunlar daha sonra Docker Hub’a veya diğer Docker kayıtlarına yüklenebilir ( teknik terim itilir ).
Kapsayıcıların nasıl çalıştırılacağına daha ayrıntılı bakalım.
Adım 5 – Docker Container Çalıştırma
hello-world
Önceki adımda ran kap kabın bir örnek olduğunu çalışır ve bir test mesajı yayan sonra çıkışlar. Konteynerler bundan çok daha kullanışlı olabilir ve etkileşimli olabilirler. Sonuçta, sanal makinelere benzerler, yalnızca daha fazla kaynak dostudur.
Örnek olarak, Ubuntu’nun en son görüntüsünü kullanarak bir konteyner çalıştıralım. -İ ve -t anahtarlarının kombinasyonu , kapsayıcıya etkileşimli kabuk erişimi sağlar:
docker run -it ubuntu
Komut isteminiz, artık konteynerin içinde çalıştığınızı yansıtacak şekilde değişmeli ve şu formu almalıdır:
Outputroot@d9b100f2f636:/#
Komut istemindeki kapsayıcı kimliğini not edin. Bu örnekte öyle d9b100f2f636
. Kapsayıcı kimliğini daha sonra kaldırmak istediğinizde kapsayıcıyı tanımlamak için ihtiyacınız olacak.
Artık kabın içindeki herhangi bir komutu çalıştırabilirsiniz. Örneğin konteynerin içindeki paket veritabanını güncelleyelim. Herhangi bir komutun sudo
önüne koymanıza gerek yoktur , çünkü kapsayıcı içinde kök kullanıcı olarak çalışıyorsunuz:
apt update
Ardından içindeki herhangi bir uygulamayı yükleyin. Node.js’yi kuralım:
apt install nodejs
Bu, Node.js’yi resmi Ubuntu deposundan kapsayıcıya yükler. Kurulum tamamlandığında, Node.js’nin kurulu olduğunu doğrulayın:
node -v
Terminalinizde görüntülenen sürüm numarasını göreceksiniz:
Outputv8.10.0
Kapsayıcı içinde yaptığınız tüm değişiklikler yalnızca bu kapsayıcı için geçerlidir.
Kaptan çıkmak exit
için komut istemine yazın.
Şimdi sistemimizdeki kapsayıcıları yönetmeye bakalım.
Adım 6 – Docker Container’larını Yönetme
Docker’ı bir süre kullandıktan sonra, bilgisayarınızda birçok aktif (çalışan) ve pasif konteyneriniz olacak. Aktif olanları görmek için şunu kullanın:
docker ps
Aşağıdakine benzer çıktı göreceksiniz:
OutputCONTAINER ID IMAGE COMMAND CREATED
Bu eğitimde, iki kapsayıcı başlattınız; biri hello-world
görüntüden, diğeri ubuntu
görüntüden. Her iki kap da artık çalışmıyor, ancak yine de sisteminizde varlar.
Etkin ve etkin olmayan tüm kapsayıcıları görüntülemek docker ps
için -a
anahtarla çalıştırın :
docker ps -a
Buna benzer bir çıktı göreceksiniz:
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
Oluşturduğunuz en son kapsayıcıyı görüntülemek için -l
anahtarı iletin:
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
Durdurulmuş bir kapsayıcı başlatmak için docker start
, ardından kapsayıcı kimliğini veya kapsayıcının adını kullanın. Ubuntu tabanlı kapsayıcıya şu ID ile başlayalım d9b100f2f636
:
docker start d9b100f2f636
Kapsayıcı başlayacak ve docker ps
durumunu görmek için kullanabilirsiniz :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d9b100f2f636 ubuntu "/bin/bash" About an hour ago Up 8 seconds sharp_volhard
Çalışan bir kapsayıcıyı durdurmak için docker stop
, ardından kapsayıcı kimliğini veya adını kullanın. Bu sefer Docker’ın konteynere atadığı adı kullanacağız, yani sharp_volhard
:
docker stop sharp_volhard
Artık bir konteynere ihtiyacınız olmadığına karar verdiğinizde docker rm
, konteynır kimliğini veya adını tekrar kullanarak komutla kaldırın . Görüntüyle docker ps -a
ilişkili kapsayıcı için kapsayıcı kimliğini veya adını bulmak hello-world
ve kaldırmak için komutu kullanın .
docker rm festive_williams
Yeni bir kap başlatabilir ve --name
anahtarı kullanarak ona bir isim verebilirsiniz . --rm
Anahtarı, durdurulduğunda kendisini kaldıran bir kap oluşturmak için de kullanabilirsiniz . docker run help
Bu seçenekler ve diğerleri hakkında daha fazla bilgi için komuta bakın .
Kaplar, yeni kaplar oluşturmak için kullanabileceğiniz görüntülere dönüştürülebilir. Bunun nasıl çalıştığına bakalım.
7. Adım – Bir Container’daki Değişiklikleri Docker Görüntüsüne Kaydetme
Bir Docker görüntüsünü başlattığınızda, tıpkı bir sanal makinede yaptığınız gibi dosyaları oluşturabilir, değiştirebilir ve silebilirsiniz. Yaptığınız değişiklikler yalnızca o kapsayıcı için geçerli olacaktır. Başlatabilir ve durdurabilirsiniz, ancak docker rm
komutla onu yok ettiğinizde , değişiklikler tamamen kaybedilecektir.
Bu bölüm, bir konteynerin durumunu yeni bir Docker görüntüsü olarak nasıl kaydedeceğinizi gösterir.
Ubuntu kapsayıcısına Node.js yükledikten sonra, artık bir görüntüyü çalıştıran bir kapsayıcınız var, ancak kapsayıcı, onu oluşturmak için kullandığınız görüntüden farklıdır. Ancak bu Node.js kapsayıcısını daha sonra yeni görüntüler için temel olarak yeniden kullanmak isteyebilirsiniz.
Ardından aşağıdaki komutu kullanarak değişiklikleri yeni bir Docker görüntüsü örneğine uygulayın.
docker commit -m "What you did to the image" -a "Author Name" container_id repository/new_image_name
-M anahtarı ise, sen ve diğerleri gibi değişiklikler yaptığınızı bilmesine yardımcı olur mesajı taahhüt içindir -a yazar belirtmek için kullanılır. Bu container_id
, etkileşimli Docker oturumunu başlattığınızda öğreticide daha önce not ettiğinizdir. Docker Hub’da ek depolar oluşturmadıysanız, bu repository
genellikle Docker Hub kullanıcı adınızdır.
Örneğin , kapsayıcı kimliğine sahip sammy kullanıcısı d9b100f2f636
için komut şöyle olacaktır:
docker commit -m "added Node.js" -a "sammy" d9b100f2f636 sammy/ubuntu-nodejs
Bir görüntüyü işlediğinizde , yeni görüntü bilgisayarınıza yerel olarak kaydedilir. Bu öğreticide daha sonra, başkalarının erişebilmesi için bir görüntüyü Docker Hub gibi bir Docker kayıt defterine nasıl aktaracağınızı öğreneceksiniz.
Docker görüntülerini tekrar listelemek, yeni görüntünün yanı sıra türetildiği eski görüntüyü gösterecektir:
docker images
Şu şekilde çıktı göreceksiniz:
OutputREPOSITORY 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
Bu örnekte, Docker Hub’daki ubuntu-nodejs
mevcut ubuntu
görüntüden türetilen yeni görüntü var . Boyut farkı, yapılan değişiklikleri yansıtır. Ve bu örnekte, değişiklik NodeJS’nin kurulmuş olmasıydı. Dolayısıyla, bir dahaki sefere NodeJS önceden yüklenmiş Ubuntu kullanarak bir kapsayıcı çalıştırmanız gerektiğinde, sadece yeni görüntüyü kullanabilirsiniz.
Ayrıca Dockerfile
, yazılımın yeni bir görüntüye yüklenmesini otomatikleştirmenizi sağlayan a’dan Görüntüler de oluşturabilirsiniz. Ancak bu, bu öğreticinin kapsamı dışındadır.
Şimdi yeni görüntüyü başkalarıyla paylaşalım, böylece ondan konteyner oluşturabilirler.
Adım 8 – Docker Görüntülerini Docker Deposuna Gönderme
Mevcut bir görüntüden yeni bir görüntü oluşturduktan sonraki mantıksal adım, onu birkaç arkadaşınızla, Docker Hub’daki tüm dünya veya erişiminiz olan diğer Docker kayıt defteri ile paylaşmaktır. Bir görüntüyü Docker Hub’a veya başka bir Docker kayıt defterine göndermek için orada bir hesabınız olmalıdır.
Bu bölümde bir Docker görüntüsünü Docker Hub’a nasıl göndereceğiniz gösterilmektedir. Kendi özel Docker kayıt defterinizi nasıl oluşturacağınızı öğrenmek için Ubuntu 14.04’te Özel Docker Kayıt Defteri Nasıl Kurulur konusuna bakın .
Görüntünüzü göndermek için önce Docker Hub’da oturum açın.
docker login -u docker-registry-username
Docker Hub şifrenizi kullanarak kimlik doğrulamanız istenecektir. Doğru parolayı belirlediyseniz, kimlik doğrulama başarılı olmalıdır.
Not: Docker kayıt defteri kullanıcı adınız, imajı oluşturmak için kullandığınız yerel kullanıcı adından farklıysa, imajınızı kayıt kullanıcı adınızla etiketlemeniz gerekecektir. Son adımda verilen örnek için şunu yazarsınız:
docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs
O zaman kendi resminizi kullanarak şunları kullanabilirsiniz:
docker push docker-registry-username/docker-image-name
İtmek için ubuntu-nodejs
görüntüyü Sammy depo komut şu şekilde olacaktır:
docker push sammy/ubuntu-nodejs
Görüntüleri yüklerken işlemin tamamlanması biraz zaman alabilir, ancak tamamlandığında çıktı şu şekilde görünecektir:
OutputThe push refers to a repository [docker.io/sammy/ubuntu-nodejs]
e3fbbfb44187: Pushed
5f70bf18a086: Pushed
a3b5c80a4eba: Pushed
7f18b442972b: Pushed
3ce512daaf78: Pushed
7aae4540b42d: Pushed
...
Bir görüntüyü bir kayıt defterine gönderdikten sonra, aşağıdaki resimde gösterildiği gibi hesabınızın kontrol panelinde listelenmelidir.
Bir itme denemesi bu tür bir hatayla sonuçlanırsa, muhtemelen oturum açmadınız:
OutputThe 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
İle docker login
oturum açın ve itme girişimini tekrarlayın. Ardından Docker Hub veri havuzu sayfanızda var olduğunu doğrulayın.
Artık görüntüyü yeni bir makineye çekmek ve yeni bir kap çalıştırmak için kullanmak için kullanabilirsiniz.docker pull sammy/ubuntu-nodejs