iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 6
0
DevOps

用30天來介紹和使用 Docker系列 第 6

Day6:把 Docker Image Push 到 Docker Hub

昨天已經把啟動 Tomcat Service 的 Docker Image 建立起來了,如果我們要將這個 Docker Image 分享給其他人用,有幾個方法:

  1. 直接把 Dockerfile 傳給其他人用,但是拿到 Dockerfile 之後要花一點時間重新 Build Image
  2. 把 Docker Image 放在公開或私有的網路上給人 Pull 下來使用
  3. 在沒有網路環境的狀況下適合使用 Import/Export 檔案的方式

今天要介紹的部份是把 Docker Image Push到公開網路的 Docker Hub 上,所有的人都可以把這個 Docker Image Pull 下來使用。

今天要實作的流程如下:

  1. 註冊 Docker Hub 帳號
  2. 把 Docker Image Push 到 Docker Hub 上
  3. 測試是否成功的把 Docker Image Push 到 Docker Hub 上

一. 註冊 Docker Hub 帳號

1. 到 Docker Hub 的網站如下圖。
https://ithelp.ithome.com.tw/upload/images/20171209/20103456khotwJiz5F.png

2. 直接在畫面右邊的 “New to Docker?”,輸入註冊 Docker Hub 的資訊,輸入完之後就按下 “Sign up”
https://ithelp.ithome.com.tw/upload/images/20171209/20103456aBTxQbkSrG.png

3. 看到如下畫面之後就去收 E-mail,把帳號啟動
https://ithelp.ithome.com.tw/upload/images/20171209/20103456BjFu8lqh7a.png

4. 收到信之後,按下 Confirm Your Email 畫面如下
https://ithelp.ithome.com.tw/upload/images/20171209/20103456XnA1EA7uHE.png

5. 登入 Docker Hub 畫面如下
https://ithelp.ithome.com.tw/upload/images/20171209/201034563bRm5Vz8Ot.png

6. 看到以下畫面表示 Docker Hub 帳號已經註冊成功了
https://ithelp.ithome.com.tw/upload/images/20171209/20103456cZ9s4I4txO.png

二. 把 Docker Image Push 到 Docker Hub 上

**1. 打開 terminal 輸入 docker images,畫面如下 **
https://ithelp.ithome.com.tw/upload/images/20171209/20103456RaXIdF2OAF.png

2. 要把 Docker Image Push 到 Docker Hub 上,需要把 Docker Image 加上 tag,如下指令

$ docker tag mytomcat jackyohhub/mytomcat

使用的Docker tag格式如下:
docker tag ${Image Name} DockerHub帳號/Image Name
執行結果的畫面如下:
https://ithelp.ithome.com.tw/upload/images/20171209/20103456pNwMxZoKTi.png

3. 輸入 docker login 指令登入到 Docker Hub,畫面如下
https://ithelp.ithome.com.tw/upload/images/20171209/20103456A1i2Lu8mOC.png

4.使用 docker push 指令把 Docker Image Push 到 Docker Hub 裡,指令如下

$ docker push jackyohhub/mytomcat

成功之後的畫面如下
https://ithelp.ithome.com.tw/upload/images/20171209/20103456grz4Tgf1Bo.png

三. 測試是否成功的把 Docker Image Push 到 Docker Hub 上

**1. 在 Docker Hub 網站裡,登入帳號進去可以看到 Repositories 已經有 jackyohhub/mytomcat 的 Docker Image 如下圖 **
https://ithelp.ithome.com.tw/upload/images/20171209/201034563uQP7LqpPa.png

2. 使用 docker rm 指令把 local 的 Image 刪除掉,測試從 Docker Hub pull Docker Image 下來,指令如下

$ docker rmi -f jackyohhub/mytomcat
$ docker rmi -f mytomcat

畫面如下
https://ithelp.ithome.com.tw/upload/images/20171209/20103456NK9aIR4baS.png

3. 從 Docker Hub Pull Docker Image 下來,指令如下

$ docker pull jackyohhub/mytomcat

Pull 完成之後畫面如下
https://ithelp.ithome.com.tw/upload/images/20171209/20103456oyC3uwCgFz.png

4. 啟動 Docker Container,指令如下

docker run -p 8080:8080 jackyohhub/mytomcat

5. 啟動完成之後就可以使用 Browser 查看結果,輸入 URL 位址為 http://localhost:8080 可以看到如下畫面
https://ithelp.ithome.com.tw/upload/images/20171209/20103456XwvF4mFwdM.png

今天已經練習了要如何把 Build 完成的 Docker Image 放到公開網路的空間上了,但是會有不希望分享自已做的 Docker Image 或是有安全性上的需求。如果有以上的需求 Docker Image 就不適合放在公開的網路空間裡,所以明天要介紹如何在自已的內部網路下架設一個 Docker Hub,通常稱為 Docker registry。


上一篇
Day5: 實作撰寫第一個 Dockerfile
下一篇
Day7:建立 private 的 Docker Registry
系列文
用30天來介紹和使用 Docker30

尚未有邦友留言

立即登入留言