# AIoT 智慧物聯網學習馬拉松 - D09 ## 作業: 設定 docker file 並 push 到 Docker HUB 上 ## 步驟一 : 安裝docker ### 1. 官方安裝腳本 * 指令: curl -fsSL https://get.docker.com -o get-docker.sh ![](https://i.imgur.com/6ad6pVX.png) ### 2. 執行安裝腳本 * 指令: sudo sh get-docker.sh ![](https://i.imgur.com/kMqnVUV.png) ### 3. 確認有無安裝成功 * 指令: which docker ![](https://i.imgur.com/LqSMnOy.png) * 成功 ### 4. 將pi (樹莓派預設帳號 加入docker 群組) * 指令: sudo usermod -aG docker pi ![](https://i.imgur.com/pyOpdSz.png) ***註: 如果沒有加, 未來執行docker 都得加上sudo 才行 (麻煩) ### 5.重開機: 讓上面的設定生效 * (此步驟沒有畫面) ### 6. 拉一個hello-world image * 指令: docker pull hello-world ![](https://i.imgur.com/Zyj1HgP.png) ### 7. 跑一下剛拉下來的image * 指令: docker run hello-world ![](https://i.imgur.com/XJLE6ma.png) * 至此, 已經成功完成docker 環境設定 ## 步驟二 : 設定 docker file -> 這裡建個小flask ### 1. 準備寫dockerfile 的材料 * 指令: vi test ![](https://i.imgur.com/558ijWk.png) ### 2. 建立Dockerfile 檔案 * 指令: docker build -t test . ![](https://i.imgur.com/V7m0IK8.png) ### 3. 檢查一下images * 指令: docker images ![](https://i.imgur.com/SrcbTzo.png) ### 4. 跑一下docker image * 指令: docker run -t -d -p 80:5004 test ![](https://i.imgur.com/W487KTR.png) ## 步驟三 : push 到 Docker HUB 上 (上傳 docker hub 的 截圖) ### 1. 首先, 您要有個docker hub 帳號 * 網址: https://hub.docker.com/ ![](https://i.imgur.com/astFbFB.png) ### 2. 登入到docker hub * 指令: docker login ![](https://i.imgur.com/pIQqrCU.png) ### 3. 確認一下要push 到docker hub 的image * 指令: docker images ![](https://i.imgur.com/avYGsFU.png) ### 4. 改成Docker Hub 的格式為 UserName/Repo * 指令: sudo docker tag test:latest jeffchen1453/test:latest (此步沒有畫面) ### 5. 最後,我們再用 push ,就可以傳到 Docker Hub 嚕! * 指令: docker push jeffchen1453/test ![](https://i.imgur.com/oLZdUhA.png) ### 6. 檢查一下Docker hub (docker iamge 已經在上面了) * 網址:https://hub.docker.com/repositories ![](https://i.imgur.com/hfPr2LY.png) ## (本題結束!)