在 Docker 中構建和部署 Flask 應用


Docker 允許您在容器內構建、管理和部署應用程式。它提供了一個打包的環境,並允許開發人員透過容器化來建立可移植的應用程式。您可以輕鬆地使用單一技術 Docker 構建 Flask 應用程式、管理它並使其可移植。您也可以使用類似的技術構建和部署其他 Python 框架。

在本文中,我們將討論如何使用 Flask 構建一個簡單的應用程式,並透過容器化將其轉換為 Docker 映象。您可以按照下面提到的步驟執行相同的操作。

步驟

建立一個新的專案資料夾。我們將其命名為 **flask_project**。

移動到該目錄並建立一個 Python 檔案。我們將其命名為 **app.py**。

在檔案中編寫一個簡單的 Flask 程式碼。檢視下面的程式碼。

#Import the flask module
from flask import import Flask

#Create a Flask constructor. It takes name of the current module as the argument
app = Flask(__name__)

#Create a route decorator to tell the application, which URL should be called for the #described function and define the function

@app.route('/')
def tutorialspoint():
return “Welcome to TutorialsPoint”

#Create the main driver function
if __name__ == ‘__main__’:
#call the run method
app.run()

您可以將上述程式碼複製到 app.py 檔案中,該檔案顯示一個簡單的歡迎語句。

建立另一個名為 requirements.txt 的檔案。此檔案將包含要安裝的軟體包列表。對於此專案,我們只需要安裝 Flask 庫。因此,在檔案中僅包含“flask”(不帶引號)。

現在,在根目錄中,建立另一個名為 Dockerfile 的檔案。此檔案將包含所有有助於您構建 Docker 映象的命令。

在 Dockerfile 中,複製以下程式碼。

#Create a ubuntu base image with python 3 installed.
FROM python:3

#Set the working directory
WORKDIR /usr/src/app

#copy all the files
COPY . .

#Install the dependencies
RUN apt-get -y update
RUN pip3 install -r requirements.txt

#Expose the required port
EXPOSE 5001

#Run the command
CMD [“python3”, “./app.py”]

上面建立的 Dockerfile 建立了一個安裝了 Python 的 Ubuntu 基礎映象。它設定了一個工作目錄,然後將主機上的所有檔案複製到 Docker 伺服器。然後它執行更新命令並安裝 requirements 檔案中提到的 Flask。然後它公開埠 5001,該埠將執行我們的 Flask 應用程式,並使用 CMD 命令執行 app.py 檔案。

現在,使用以下命令構建映象。確保您位於根目錄中。

sudo docker build -t flaskproject . (don’t forget the dot)

構建映象後,使用以下命令透過互動式 shell 在 Docker 容器內執行 bash。

sudo docker run -ti -p 5001:5001 flaskproject bash

上述命令透過連線埠執行映象並開啟 bash。

在 bash 中,執行以下命令 -

python3 app.py

您將看到螢幕上出現類似以下內容。

  • 正在提供 Flask 應用“app”(延遲載入)

  • 環境:生產 警告:這是一個開發伺服器。不要在生產部署中使用它。請改用生產 WSGI 伺服器。

  • 除錯模式:開啟

  • 正在運行於 http://0.0.0.0:5001/(按 CTRL+C 退出)

  • 使用 stat 重新啟動

  • 偵錯程式處於活動狀態!

這意味著您的 Flask 應用程式已成功在容器中執行,並且可以透過本地機器上的埠 5001 訪問。

開啟瀏覽器並轉到 URL -  http://0.0.0.0:5001/

您將看到以下訊息:“歡迎來到 TutorialsPoint”

總而言之,使用這些步驟,您可以輕鬆地在 Docker 容器中構建和部署 Flask 應用程式,並且可以透過將埠連線到本地機器來訪問該應用程式。

更新於: 2020-10-01

556 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.