iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
2
Kubernetes

15 分鐘學習系列 - 第一次學 Kubernetes 就上手系列 第 3

Day 3 - 為 Kubernetes 準備 Docker Image

今天的筆記將介紹如何為 Kubernetes 建立 Image. 範例中將使用 dotnet-docker 的範例進行實機演練, 開始之前, 需要先有操作 git 的經驗, git 的使用不在此說明. 有興趣可以先上網參考連猴子都能懂的Git入門指南, 我們其實只有用一個 git clone 命令而已, 用猴子的膝蓋就夠了! XD

建立 docker image

  1. 首先建立一個目錄來放我們的 Kubernetes 的練習檔案 (例如 C:\k8s)
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871Qkg0zVSpm0.png
  2. 進入 c:\k8s, 使用 git clone https://github.com/dotnet/dotnet-docker 複製 dotnet-docker 專案
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871qPMzsbxk0k.png
  3. 進入範例 aspnet core 程式所在的 aspnetapp 目錄, 使用 docker build . -t aspnetapp:local 建立一個 tag 名稱為 local 的 aspnetapp,
    其中 aspnetapp 是 Repository 名稱, local 是 Tag 名稱, aspnetapp:local 便是 Image 名稱
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871d8Hf1xDIwO.png
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871efntKyEQxM.png
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871v9kNkgU5vz.png
  4. 使用命令 docker image list | select -First 2 列出 image 確認是否建立完成
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871mc0vz1Fpc8.png
  5. 使用命令 docker run -d -p 5000:80 aspnetapp:local 將 container 執行. 設定為 listen tcp 5000 port, forward 到 container 的 tcp 80 port
    https://ithelp.ithome.com.tw/upload/images/20181017/201118711ylHEkKmvL.png
  6. 使用命令 docker ps 列出執行中的 container
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871GqEKkOSeQ1.png
  7. 開啟 Browser 連線到 http://localhost:5000 測試結果
    https://ithelp.ithome.com.tw/upload/images/20181017/20111871C7lmuEcUfU.png

透過簡單的幾個步驟, 我們準備好可以部署到 Kubernetes 的 image 囉.
完成了準備步驟, 可以使用命令 docker stop eb0f032ca9cf 將步驟 6 的 Container ID 來停止 container. 並使用 docker ps 確認 container 是否停止
https://ithelp.ithome.com.tw/upload/images/20181017/20111871L9fzuZsWGh.png


參考資料:


上一篇
Day 2 - Docker 與 Kubernetes 環境準備
下一篇
Day 4 - 部署應用程式到 Kubernetes 叢集 - Part I - 手動建立 deployment 與 Service
系列文
15 分鐘學習系列 - 第一次學 Kubernetes 就上手30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言