🏆【CI/CD技術專題】「Docker實戰系列」(1)本地進行生成鏡像以及標籤Tag推送到DockerHub
- 2021 年 12 月 20 日
- 筆記
- 【技術專區-CI/CD】
背景介紹
Docker鏡像構建成功後,只要有docker環境就可以使用,但必須將鏡像推送到Docker Hub上去。創建的鏡像最好要符合Docker Hub的tag要求,因為在Docker Hub註冊的用戶名是liboware,最後利用docker push命令推送鏡像到公共倉庫。
前提概要
你需要在Docker hub註冊用戶:到官網註冊賬號://hub.docker.com/
例如:註冊賬號名稱:liboware
在本地服務器登錄docker:
例如在CentOS7服務器
[root@localhost ~]# 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 //hub.docker.com to create one.
Username: liboware ##輸入賬號
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@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nacos v1 9e5f6711d527 3 days ago 178MB
mysql v1 9e5f6711d527 3 days ago 178MB
docker tag建立鏡像
[root@localhost ~]# docker tag nacos:v1 liboware/nacos:v1
docker images 查看鏡像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nacos v1 9e5f6711d527 3 days ago 178MB
nginx v1 9e5f6711d527 3 days ago 178MB
liboware/mysql v1 9e5f6711d527 3 days ago 178MB
[root@localhost ~]#
docker hub推送鏡像
docker push 註冊docker用戶名/REPOSITORY:TAG
[root@localhost ~]# docker push liboware/nacos:v1
The push refers to repository [docker.io/llxxyy/nginx-io]
833a0f6a6ff9: Pushed
10bfe402500e: Pushed
d43641d7d594: Mounted from library/nginx
c2adabaecedb: Mounted from library/nginx
v1: digest: sha256:67dcdae5578c0374019cc899731543cfd7c48fe5780e84233a258f2bf7d2ceda size: 1155
[root@localhost ~]#
註:推送Docker Hub速度很慢,耐心等待,很有可能失敗,失敗會嘗試多次重傳,之後斷開推送(但已推送上去的會保留,保留時間不知道是多久)。
hub docker效果
Docker 使用發佈的鏡像
docker@default:~$ docker search liboware/nacos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
liboware/nacos In this image server you can use ma... 0
在pull下來
[root@localhost ~]# docker pull liboware/nacos:v1
v1: Pulling from liboware/nacos
Digest: sha256:67dcdae5578c0374019cc899731543cfd7c48fe5780e84233a258f2bf7d2ceda
Status: Downloaded newer image for liboware/nacos:v1
docker.io/liboware/nacos:v2
確認pull成功
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx stable-perl 9e5f6711d527 3 days ago 178MB
nginx v1 9e5f6711d527 3 days ago 178MB
libo/nacos v1 9e5f6711d527 3 days ago 178MB
遇到的問題
-
執行:docker push nacos:v1【提示denied: requested access to the resource is denied】
-
我們可以列出所有鏡像:docker images
-
建立tag將要發佈的鏡像改到自己賬戶名下,我的賬戶名:liboware
docker tag nacos:v2 liboware/nacos:v2
- 再次推送:docker push liboware/nacos:v2【成功】