繁体   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