iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
自我挑戰組

用 Docker 了嗎? 30 天的 Docker 基本教學系列 第 22

Day 22 推送映像檔至 DockerHub

  • 分享至 

  • xImage
  •  

該文章同步發佈於:我的部落格

也歡迎關注我的 Facebook 以及 Instagram 接收軟體相關的資訊!

以及這個 30 天的 Docker 教學有出書喔!如果喜歡這個系列可以支持一下,天瓏書局

前情提要

昨天在最後推送映像檔時遇到了權限的問題,今天就來手把手帶大家把映像檔推到 DockerHub 吧!

用終端機登入 DockerHub

接著我們使用 docker login 這個指令,並輸入你的使用者名稱以及 DockerHub 的密碼

$ docker login
Username: robeeerto
Password: 輸入 DockerHub 的密碼

Login Succeeded

也有可能你會遇到下面的問題,若是沒有遇到的人可以直接跳到推送映像檔的部分。

$ docker login
Username: robeeerto
Password: 輸入 DockerHub 的密碼

Error response from daemon: Get "https://registry-1.docker.io/v2/": unauthorized: please use personal access token to login

叫你去申請個人的 Token 來進行登入,這時候我們打開 DockerHub 點擊大頭貼並進入 Account Setting。

接著點擊左手邊的 Security 的選項,會看到畫面中有 New Access Token 的按鈕,點擊下去。

接著填入對於這個 Token 的描述,這邊我填入的是 MyMacBook。

點擊下 Generate 之後,畫面會有順序的告知你該如何在終端機登入 DockerHub。

接著照著步驟在終端機依序輸入:

$ docker login -u robeeerto
Password: # 貼上產生的 Token
Login Succeeded

Logging in with your password grants your terminal complete access to your account.
For better security, log in with a limited-privilege personal access token. Learn more at https://docs.docker.com/go/access-tokens/

這時候我們就成功利用 CLI 登入了 DockerHub,終於可以來試試看推送映像檔了。

$ docker image push robeeerto/nginx:latest
The push refers to repository [docker.io/robeeerto/nginx]
b539cf60d7bb: Mounted from library/nginx
bdc7a32279cc: Mounted from library/nginx
f91d0987b144: Mounted from library/nginx
3a89c8160a43: Mounted from library/nginx
e3257a399753: Mounted from library/nginx
92a4e8a3140f: Mounted from library/postgres
latest: digest: sha256:f26fbadb0acab4a21ecb4e337a326907e61fbec3... size: 1570

這邊可以注意到 Mounted from library/nginx 這段訊息,這個意思代表的是我們現在推上去的這個映像檔,雖然不存在 robeeerto 的儲存庫中,但在整個 DockerHub 內是有一模一樣的映像檔存在。

所以從 DockerHub 從另一個儲存庫 library/nginx 分享了映像檔給我們,這樣做可以大幅度的減少 DockerHub 在儲存映像檔的容量問題,同時也能加快推送的速度。

還透露了另外一個訊息就是官方映像檔並非沒有前綴,而是不顯示而已,這邊我們不就清楚的看到前綴是 library 了嗎?也代表它們隸屬於 library 這個儲存庫。

接著我們回到自己 DockerHub 的個人頁面,應該會看到我們剛剛推送上來的映像檔。

大功告成拉!成功地出現在 DockerHub 了!

小結

今天我們把映像檔成功地推送到了 DockerHub,明天我們將來介紹映像檔的全名,或許和你想得不太一樣!

明天見~


上一篇
Day 21 Docker Image 的唯讀性
下一篇
Day 23 Docker Image 的完全名稱及 Docker Registry
系列文
用 Docker 了嗎? 30 天的 Docker 基本教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言