[Docker] Docker化你的Python Flask APP 並上傳至Docker Hub
鼠年全馬鐵人挑戰 - WEEK 12
前言
本篇將透過撰寫Dockerfile來打包自己的 Docker Image,用於建置Python Flask 環境,並將打包好的Docker Image上傳至DockerHub。
Hands on Lab
建Dockerfile、requirements.txt
建立Dockerfile
1 | |
在requirements.txt寫入flask,docker run的時候會下載flask這個相依套件
1 | |
撰寫Dockerfile
Dockerfile 開頭必須是FROM指定一個底層映像檔(image)Dockerfile
1 | |
接著建立index.py
1 | |
建立並執行container
寫入上述的Dockerfile內容後,執行
1 | |
- 注意最後面的
.為當前目錄,是假設Dockerfile在當前目錄下,因此會以.結尾- 注意build指令,
-t後面接的是repository地址,因為之後要push到自己Docker Hub的位置,而每個 Repository 的前綴字都會是登入帳號,所以上述範例tom861012為我自己的帳號

成功build一個Flask App後會看到類似上圖的內容,接著用剛build好的image以背景模式來run一個container起來。
1 | |

看到返回的containerID後就表示成功囉!
進入到http://0.0.0.0:5000/
查看log
1 | |
查看images
1 | |
執行上述指令就可以觀察到新建立得tom861012/imagedemo這個image囉
查看歷史紀錄
1 | |
Build好的Image推到Docker Hub
在push之前務必要記得先做docker login的動作
1 | |
再到自己的Docker Hub頁面去看
語法回顧
FROM [Docker Image Name:TAG]
指定這個映像檔要以哪一個Image為基底來建構WORKDIR設定工作目錄COPY複製本地端的檔案/目錄到映像檔的指定位置中RUNBuild Image 時會執行的指令,下載相依套件EXPOSEcontainer 啟動時會監聽的portCMD執行 Container 時的指令