【发布时间】:2019-11-03 14:35:32
【问题描述】:
我正在构建一个使用 docker 的 webapp(一个简单的烧瓶站点)。我希望我的开发代码不驻留在 docker 中,而是由我在 dockerfile 中定义的开发环境(使用 python3)执行。我知道我可以在 dockerfile 中使用COPY . . 语法将我的源代码复制到映像中以供执行,但这违反了我将容器与源分离的目标。有没有办法让 docker 容器读取并执行它在我运行 docker container run 命令的目录中的代码?
现在我的容器使用复制公司将所有源代码复制到容器中。然后它使用CMD 命令自动运行烧瓶应用程序:
CMD [ "python", "flask_app/server.py" ]
(我将所有烧瓶代码存储在一个名为flask_app 的目录中)。我假设这是可行的,因为所有这些都已复制到容器中(根据 dockerfile 中给出的规范),并且在我运行容器时正在执行。我希望容器能够访问和执行flask_app/server.py 而无需将这些信息复制到自身中——这可能吗?如果有,怎么做?
【问题讨论】:
-
您可以使用
docker run的--volume /HOST/PATH:/CONTAINER_PATH选项将您的主机代码挂载到容器上。除此之外,只拥有一个开发 dockerfile 和一个生产 dockerfile 是否有意义?
标签: python docker flask dockerfile