簡體   English   中英

Dockerize我的燒瓶應用程序

[英]Dockerize my flask app

我是Docker和Docker-compose的新手。 我構建了dockerfile和docker-compose.yml來運行我的燒瓶你好世界。 但是在我更改app.py和docker-compose之后,它並沒有反映我的代碼更改。

Dockerfile:

FROM ubuntu:latest

RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential && \
    pip install flask PyMySQL pandas pymysql sqlalchemy

COPY . /app
WORKDIR /app

ENTRYPOINT ["python", "app.py"]

Docker-compose.yml:

version: '3'

services:
    web:
        build: ./web
        volumes:
          - .:/tmp
        ports:
          - "5000:5000"

請幫我。 我只希望我的代碼更改自動反映出來。

最好

COPY指令在構建映像時復制文件版本,而忽略隨后的文件更改。

資料來源: https : //stackoverflow.com/a/40276268/5649170

由於您在構建過程中將代碼復制到docker映像中,因此:

COPY . /app

您需要在每次更新代碼時重新構建docker映像,然后從更新的映像運行容器。

如果您將帶有代碼的文件夾安裝到docker容器中-由於進行了安裝,代碼將在容器中自動更新,但是您仍然需要重新啟動應用程序以讓python解釋器將更新后的代碼加載到內存中以開始執行它。 因此由於手動工作,這不是解決方案。

我建議您注意某些CI / CD平台,例如Jenkins ,它可以使您自動執行此過程。 在這種情況下,您只需將代碼推送到版本控制系統,Jenkins就會自動執行所有上述步驟,因此您的應用程序將自動更新並重新啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM