![](/img/trans.png)
[英]How to dockerize my flask web app with mysql database?Cannot connect mysql and cannot found render templete
[英]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
指令在構建映像時復制文件版本,而忽略隨后的文件更改。
由於您在構建過程中將代碼復制到docker映像中,因此:
COPY . /app
您需要在每次更新代碼時重新構建docker映像,然后從更新的映像運行容器。
如果您將帶有代碼的文件夾安裝到docker容器中-由於進行了安裝,代碼將在容器中自動更新,但是您仍然需要重新啟動應用程序以讓python解釋器將更新后的代碼加載到內存中以開始執行它。 因此由於手動工作,這不是解決方案。
我建議您注意某些CI / CD平台,例如Jenkins ,它可以使您自動執行此過程。 在這種情況下,您只需將代碼推送到版本控制系統,Jenkins就會自動執行所有上述步驟,因此您的應用程序將自動更新並重新啟動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.