【Docker】從零開始:9.Docker命令:Push推送倉庫
- 知識點
- 1.Docker Push有什么作用?
- 2.Docker倉庫有哪幾種
- 2.1 公有倉庫
- 2.2 第三方倉庫
- 2.3 私有倉庫
- 2.4 搭建私有倉庫的方法有哪幾種
- 3.Docker公有倉庫與私有倉庫的優缺點對比
- Docker Push 命令
- 標準語法
- 操作參數
- 推送Docker Hub(公有倉庫)
- 1.注冊Docker Hub賬號并登錄登錄(免費)
- 2.按圖示操作找到倉庫按鈕
- 3.創建自己的倉庫
- 4.創建成功并查看自己的倉庫
- 5.用命令登錄倉庫
- 6.找到要推送的鏡像。并重命名
- 7.推送到Docker Hub倉庫
- 8.驗證的Docker鏡像是否推送成功
- 9.退出遠程倉庫
- 推送到阿里云倉庫
- 1.注冊阿里云賬號并登錄(或者用淘寶登錄)
- 2.點擊控制臺并找到容器
- 3.創建自己的倉庫
- 4. 創建倉庫成功
- 5.用命令方式登錄阿里云
- 6.找到要推送的鏡像。并重命名
- 7.推送到Docker Hub倉庫
- 8.驗證的Docker鏡像是否推送成功
- 9.退出遠程倉庫
- 10.刪除我們的鏡像 嘗試從阿里云下載鏡像
知識點
1.Docker Push有什么作用?
Docker Push是Docker的一個命令,用于將本地的Docker鏡像推送到倉庫中。
2.Docker倉庫有哪幾種
2.1 公有倉庫
- 公有倉庫一般指的是Docker Hub 是 Docker 公司維護的公有 Registry。
- 在 Docker 公有倉庫中,用戶可以找到各種類型的 Docker 鏡像,例如常用的操作系統鏡像、Web 服務器鏡像、數據庫鏡像等。在使用 Docker 時,通常需要先從公有倉庫中下載所需的 Docker 鏡像,然后使用這些鏡像來創建 Docker 容器(container)。
- 除了從 Docker 公有倉庫中下載鏡像,用戶也可以在本地構建鏡像并上傳到 Docker 公有倉庫進行分享。Docker 公有倉庫對于上傳的鏡像有一些限制,例如鏡像大小不能超過 2 GB,同時需要遵守一定的容器鏡像編寫規范。
- 總之,Docker 公有倉庫是 Docker 用戶不可或缺的資源之一,用戶可以在其中找到并下載、分享各種類型的 Docker 鏡像,使得 Docker 應用開發和部署更加便捷高效。
2.2 第三方倉庫
- 指的是非官方的倉庫,比如阿里云,騰訊的docker倉庫
- Docker第三方倉庫也可以分為公共倉庫和私有倉庫兩種。用戶可以在其中查找和下載Docker鏡像。
2.3 私有倉庫
- 私有倉庫則是用戶自己搭建的倉庫,可以用于存儲和分享自己的Docker鏡像。
2.4 搭建私有倉庫的方法有哪幾種
- registry鏡像搭建本地私有倉庫
- harbor搭建私有倉庫
- 注冊使用第三方私有倉庫
3.Docker公有倉庫與私有倉庫的優缺點對比
- Docker倉庫分為公有倉庫和私有倉庫,它們之間有一些明顯的區別。
- 定義和訪問權限:公有倉庫是Docker官方提供的公共倉庫,稱為Docker Hub,它對所有人開放,用戶可以在其中創建帳戶,存儲和共享Docker鏡像。而私有倉庫是由用戶自己搭建、管理和維護的倉庫,它只對特定的用戶或團隊開放,可以根據需要進行訪問權限的設置。
- 存儲位置和數據安全性:公有倉庫中的鏡像存儲在公共服務器上,用戶無需擔心存儲空間和數據安全性的問題。而私有倉庫則是由用戶自己選擇存儲位置,可以部署在本地服務器或云存儲平臺上,對于數據安全性的保障更加靈活。
- 集成和定制性:公有倉庫中的鏡像通常是由第三方開發者提供的,用戶可以直接使用或進行二次定制。而私有倉庫則可以根據用戶的需求進行定制,可以與其他項目無縫集成,同時也可以根據業務需要進行擴展和定制。
- 使用費用:使用Docker Hub等公有倉庫時,一般不需要支付任何費用,除非需要使用高級功能或大量存儲空間。而搭建和使用私有倉庫可能需要一定的成本,包括服務器硬件、存儲空間、網絡帶寬等費用。
總之,公有倉庫和私有倉庫各有優缺點,用戶可以根據實際需求選擇適合自己的倉庫類型。
Docker Push 命令
標準語法
docker push [OPTIONS] NAME[:TAG]
操作參數
參數 | 描述 |
---|---|
–disable-content-trust | 禁用內容信任,不對推送的鏡像進行簽名。 |
–platform | 指定要推送的鏡像所在的平臺。 |
推送Docker Hub(公有倉庫)
1.注冊Docker Hub賬號并登錄登錄(免費)
注冊地址: https://hub.docker.com/
2.按圖示操作找到倉庫按鈕
3.創建自己的倉庫
4.創建成功并查看自己的倉庫
5.用命令登錄倉庫
[root@docker ~]# docker login
Log in with your Docker ID or email address 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.
You can log in with your password or a Personal Access Token (PAT). Using a limited-scope PAT grants better security and is required for organizations using SSO. Learn more at https://docs.docker.com/go/access-tokens/Username: circledba
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
[root@docker ~]#
6.找到要推送的鏡像。并重命名
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cirlce/ubuntu 1.0 4eac314fbf24 5 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]# [root@docker ~]# docker tag cirlce/ubuntu:1.0 circledba/kingbase-es:test
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
circledba/kingbase-es test 4eac314fbf24 5 hours ago 72.8MB
cirlce/ubuntu 1.0 4eac314fbf24 5 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]#
7.推送到Docker Hub倉庫
[root@docker ~]# docker push circledba/kingbase-es:test
The push refers to repository [docker.io/circledba/kingbase-es]
9f54eef41275: Mounted from library/ubuntu
test: digest: sha256:1dec09d8edcd108ab0d17dc25f2c729790118c2f91512b5e492bd646c45a1051 size: 529
[root@docker ~]#
8.驗證的Docker鏡像是否推送成功
在這已經看到我們推送成功了
9.退出遠程倉庫
[root@docker ~]# docker logout
Removing login credentials for https://index.docker.io/v1/
[root@docker ~]#
推送到阿里云倉庫
1.注冊阿里云賬號并登錄(或者用淘寶登錄)
2.點擊控制臺并找到容器
3.創建自己的倉庫
4. 創建倉庫成功
5.用命令方式登錄阿里云
[root@docker ~]# docker login --username=caviroye@qq.com registry.cn-hangzhou.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
circledba/kingbase-es test 4eac314fbf24 6 hours ago 72.8MB
cirlce/ubuntu 1.0 4eac314fbf24 6 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]#
6.找到要推送的鏡像。并重命名
[root@docker ~]# docker tag 4eac314fbf24 registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
circledba/kingbase-es test 4eac314fbf24 6 hours ago 72.8MB
cirlce/ubuntu 1.0 4eac314fbf24 6 hours ago 72.8MB
registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es test 4eac314fbf24 6 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]#
7.推送到Docker Hub倉庫
[root@docker ~]# docker push registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es]
9f54eef41275: Pushed
test: digest: sha256:1dec09d8edcd108ab0d17dc25f2c729790118c2f91512b5e492bd646c45a1051 size: 529
[root@docker ~]#
8.驗證的Docker鏡像是否推送成功
在這已經看到我們推送成功了
9.退出遠程倉庫
[root@docker ~]# docker logout registry.cn-hangzhou.aliyuncs.com
Removing login credentials for registry.cn-hangzhou.aliyuncs.com
[root@docker ~]#
10.刪除我們的鏡像 嘗試從阿里云下載鏡像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cirlce/ubuntu 1.0 4eac314fbf24 7 hours ago 72.8MB
registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es test 4eac314fbf24 7 hours ago 72.8MB
circledba/kingbase-es test 4eac314fbf24 7 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]# docker rmi registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
Untagged: registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
Untagged: registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es@sha256:1dec09d8edcd108ab0d17dc25f2c729790118c2f91512b5e492bd646c45a1051
[root@docker ~]#
[root@docker ~]#
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cirlce/ubuntu 1.0 4eac314fbf24 7 hours ago 72.8MB
circledba/kingbase-es test 4eac314fbf24 7 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]# docker pull registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
test: Pulling from circle2023/kingbase-es
Digest: sha256:1dec09d8edcd108ab0d17dc25f2c729790118c2f91512b5e492bd646c45a1051
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es:test
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
circledba/kingbase-es test 4eac314fbf24 7 hours ago 72.8MB
cirlce/ubuntu 1.0 4eac314fbf24 7 hours ago 72.8MB
registry.cn-hangzhou.aliyuncs.com/circle2023/kingbase-es test 4eac314fbf24 7 hours ago 72.8MB
mysql 5.6 dd3b2a5dcb48 23 months ago 303MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
hello-world latest feb5d9fea6a5 2 years ago 13.3kB
[root@docker ~]#