使用 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