天天看點

Docker 上傳鏡像&拉取鏡像

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/qq_36367789/article/details/81623850

與git相似,docker也有自己的鏡像倉庫,官方倉庫網站是 https://hub.docker.com/ ,其實我們平時docker pull xxx就是從該倉庫得到的鏡像(在不設定國内鏡像加速的情況下)。它和git倉庫很相似。

建立賬号

DockerHub:

很多人在這裡就出了問題,為什麼都填完了但是不能點注冊按鈕呢?因為該網站目前來說注冊是需要翻牆的,注冊成功後再關閉翻牆。

我重新上傳一個項目做示範,該鏡像是從hub上pull到的一個nginx鏡像,我把它上傳到我的公開倉庫。

上傳鏡像

先登入docker hub賬号。

docker login


[root@FantJ ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username (fantj): fantj
Password: 
Login Succeeded
           
[root@FantJ ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/openjdk   8-jre               bef23b4b9cac        2 weeks ago         443 MB
docker.io/nginx     latest              ae513a47849c        4 weeks ago         109 MB
[root@FantJ ~]# docker tag docker.io/nginx fantj/nginx
[root@FantJ ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/openjdk   8-jre               bef23b4b9cac        2 weeks ago         443 MB
fantj/nginx         latest              ae513a47849c        4 weeks ago         109 MB
docker.io/nginx     latest              ae513a47849c        4 weeks ago         109 MB
[root@FantJ ~]# docker push fantj/nginx
The push refers to a repository [docker.io/fantj/nginx]
7ab428981537: Mounted from library/nginx 
82b81d779f83: Mounted from library/nginx 
d626a8ad97a1: Mounted from library/nginx 
latest: digest: sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90 size: 948
[root@FantJ ~]# 
           

流程大概是:登入->tag操作->push

注:tag 的第二個參數的字首是你的hub賬戶名

拉取鏡像

我先把伺服器上的鏡像删除掉,然後再從hub中拉取鏡像。

# 删除本地fantj/nginx鏡像
[root@FantJ ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/openjdk   8-jre               bef23b4b9cac        2 weeks ago         443 MB
fantj/nginx         latest              ae513a47849c        4 weeks ago         109 MB
docker.io/nginx     latest              ae513a47849c        4 weeks ago         109 MB
[root@FantJ ~]# docker rmi fantj/nginx 
Untagged: fantj/nginx:latest
Untagged: fantj/nginx@sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90
[root@FantJ ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/openjdk   8-jre               bef23b4b9cac        2 weeks ago         443 MB
docker.io/nginx     latest              ae513a47849c        4 weeks ago         109 MB



# 從hub中拉取fantj/nginx鏡像
[root@FantJ ~]# docker pull fantj/nginx
Using default tag: latest
Trying to pull repository docker.io/fantj/nginx ... 
latest: Pulling from docker.io/fantj/nginx
Digest: sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90
Status: Downloaded newer image for docker.io/fantj/nginx:latest
[root@FantJ ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/openjdk       8-jre               bef23b4b9cac        2 weeks ago         443 MB
docker.io/fantj/nginx   latest              ae513a47849c        4 weeks ago         109 MB
docker.io/nginx         latest              ae513a47849c        4 weeks ago         109 MB
[root@FantJ ~]#