使用 docker 部署 Python Flask | 心得分享

Alan Syue
2 min readJan 19, 2020

原文連結:https://reurl.cc/e5N9yK

上篇 畢業學分計算工具開發心得 | side project 的嘗試與迭代 有提到近期在做的專案,很高興不久前有找到 2 位學弟妹有興趣來往下做開發。由於他們比較少開發經驗,也促使我開始思考怎麼做能幫助他們開發更順暢。

目前想到了以下三點會優先執行:

1. 快速建置開發環境

2. 寫文件

3. 計算邏輯的模組化

這次文章想分享這次為了加速建置開發環境,研究了用 docker 來安裝 python、相關套件、以及啟動 Flask API:

一、安裝 docker

可以直接參考 docker 文件 來進行安裝,就不多贅述。

二、建立 requirements.txt

至 Flask 專案底下新增 requirements.txt 檔案,用來管理需要安裝的套件。

三、建立 Dockerfile

一樣在 Flask 專案底下新增 Dockerfile ( 不需有後綴檔名 ),稍稍說明一下他會做哪些事情:

1. FROM python:3.6 :使用 python 這個 image

2. COPY ./requirements.txt /app/requirements.txt : 複製 requirements.txt 檔案

3. RUN pip install -r requirements.txt: 安裝 requirements.txt 裡面的套件

4. 最後用 gunicorn 去執行 app.py ( 用 Flask 撰寫的 api )

四、 Docker build image 及 container

在 terminal 執行

docker build -t graduatetool . — no-cache

即可建置出 graduatetool 的 image ( 可透過 docker image ls 查看 )。

接著執行

docker run -d — name graduateApi -p 9000:9000 graduatetool:latest

就可以 requests 到 http://localhost:9000。

總結

之前比較少碰 Docker,覺得很有趣,過程也順勢補充專案文件,希望可以幫助到後續開發。第一次嘗試使用 Docker,如果內容有錯誤,再請不吝指教,感謝!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Alan Syue
Alan Syue

Written by Alan Syue

Backend Engineer at UPN | Love to share everything

No responses yet

Write a response