使用Docker Compose構建Flask應用程式


Docker Compose允許您構建多容器Docker應用程式。如果您正在處理一個微服務專案,其中不同的節點處理專案中的不同部分,那麼Docker Compose正是您需要的。使用Docker Compose,您可以在不同的Docker容器上處理專案的不同元件,並將它們組合起來建立一個單個應用程式。

在本文中,我們將討論如何構建一個使用Python模組的Flask應用程式,並嘗試使用Docker Compose在Docker容器中執行它。

首先,您需要在本地機器上安裝Docker Compose。要安裝Docker Compose,您可以使用以下任一方法:

  • 使用包管理器

sudo apt−get install docker−compose
  • 從官方倉庫

您需要curl才能從官方倉庫下載檔案。

sudo apt−get install curl

sudo curl −L "https://github.com/docker/compose/releases/download/1.24.0/docker−compose−$(uname −s)−$(uname −m)" −o /usr/local/bin/docker−compose

sudo chmod +x /usr/local/bin/docker−compose

以上命令序列從apt包管理器下載並安裝curl。之後,使用curl從其官方github倉庫下載最新版本的Docker Compose,然後使用chmod命令賦予使用者可執行許可權。

在本地機器上下載Docker Compose後,建立如下所示的目錄結構。

建立一個名為“application”的資料夾,並在其中建立一個名為“web”的資料夾,該資料夾將包含我們所有的flask檔案。

移動到“web”目錄並建立一個名為“app.py”的python檔案。在檔案中建立一個簡單的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(debug=True,host='0.0.0.0')

上面的flask程式碼建立了一個簡單的flask應用程式並列印“歡迎來到TutorialsPoint”。建立python檔案後,使用以下程式碼建立dockerfile。

FROM python:3
RUN apt−get −y update
RUN apt−get install −y pip3 build−essential
COPY . .
RUN pip3 install −r requirements.txt
ENTRYPOINT ["python3"]
CMD ["app.py"]

上面的dockerfile建立一個python 3映象,執行更新並安裝必要的python包。然後,它使用下面提到的requirements.txt檔案安裝flask庫,並將入口點定義為我們剛剛在app.py檔案中建立的flask應用程式。

在web資料夾中建立一個名為requirements.txt的檔案,並貼上以下內容。

Flask

現在,轉到名為application的父目錄,並使用以下內容建立一個docker-compose.yml檔案。

web:
build: ./web
ports:
− "5000:5000"
volumes:
− .:/code

上面的檔案從“web”目錄中的dockerfile構建映象,然後將5000埠暴露到容器的5000埠。然後,它將當前目錄掛載到docker容器的/code。

您現在可以使用以下命令從名為“web”的目錄構建docker映象“application”。

sudo docker−compose up

總而言之,在本文中,我們看到了如何安裝docker compose,構建一個簡單的flask web應用程式,建立一個構建映象的dockerfile,然後使用Docker Compose將應用程式部署為服務。上述步驟是使用Docker Compose建立web應用程式最簡單的方法。

更新於:2020年10月27日

瀏覽量 1K+

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告