Docker | 發佈鏡像到鏡像倉庫

本文記錄發佈鏡像到 DockerHub阿里雲鏡像倉庫。工作中使用的是JFrog ArtifactoryHarbor,沒有太大差別。

發佈鏡像到DockerHub

//hub.docker.com/ 註冊賬號

1、登錄docker

[root@--- ~]# docker login --help

Usage:  docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
  -p, --password string   Password
      --password-stdin    Take the password from stdin
  -u, --username string   Username
[root@--- ~]# 
[root@--- ~]# docker login -u xiaobluewhale
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
//docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@--- ~]# 

2、服務器上提交鏡像

docker push [OPTIONS] NAME[:TAG]

docker push 命令推送鏡像的規範是:註冊用戶名/鏡像名。

使用以下方法之一命名您的本地鏡像:

  1. 當你構建它們時,使用如下命令
docker build -t <hub-user>/<repo-name>[:<tag>]
  1. 重命名現有的本地鏡像
docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
  1. docker commit 提交更改
docker commit <existing-container> <hub-user>/<repo-name>[:<tag>]
  1. 推送鏡像倉庫
docker push <hub-user>/<repo-name>:<tag>
  • docker push xiao/tomcat
docker push xiao/tomcat
Using default tag: latest
The push refers to repository [docker.io/xiao/tomcat]
69421fc728fb: Preparing 
1f6217f0c2bb: Preparing 
aa9c3f9fafec: Preparing 
7d4a4cd414a9: Preparing 
74ddd0ec08fa: Preparing 
denied: requested access to the resource is denied 

推送失敗,被拒絕

推送失敗的原因: name必須是註冊用戶名

解決push失敗問題

增加一個tag, 重命名鏡像

# 增加tag,重命名鏡像
docker tag 24b3a476f143 xiaobluewhale/tomcat:1.0
The push refers to repository [docker.io/xiaobluewhale/tomcat]

# 查看鏡像
docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
xiaobluewhale/tomcat   1.0       24b3a476f143   13 hours ago   680MB
xiao/tomcat            1.0       24b3a476f143   13 hours ago   680MB
xiao/tomcat            latest    24b3a476f143   13 hours ago   680MB

# 推送鏡像
docker push xiaobluewhale/tomcat:1.0

提交成功

提交的時候也是按照鏡像的層級提交的

在個人DockerHub上查看推送成功的鏡像

發佈鏡像到阿里雲鏡像倉庫

1、登陸阿里雲

2、找到容器鏡像服務,創建實例

企業版需要付費購買(1個月741)

我選擇創建個人實例

3、創建命名空間(為了隔離)

4、創建鏡像倉庫

本地

5、推送鏡像

參考阿里雲容器鏡像指南

  1. 登錄
docker login --username=[yourname] registry.cn-hangzhou.aliyuncs.com
  1. 查看鏡像
docker images
REPOSITORY                      TAG       IMAGE ID       CREATED        SIZE
xiaobluewhale/tomcat            1.0       24b3a476f143   14 hours ago   680MB
  1. 推送鏡像
docker push xiaobluewhale/tomcat:1.0
The push refers to repository [docker.io/xiaobluewhale/tomcat]

6、阿里雲查看鏡像

imageID: 24b3a476f143

也可以查看可視化的層信息


我是 甜點cc

熱愛前端,也喜歡專研各種跟本職工作關係不大的技術,技術、產品興趣廣泛且濃厚,等待着一個創業機會。本號主要致力於分享個人經驗總結,希望可以給一小部分人一些微小幫助。

希望能和大家一起努力營造一個良好的學習氛圍,為了個人和家庭、為了我國的互聯網物聯網技術、數字化轉型、數字經濟發展做一點點貢獻。數風流人物還看中國、看今朝、看你我。

Tags: