我是docker的新手,所以我找到了这个映像,该映像已预安装flask-uwsgi-nginx,并使用以下命令运行它:
docker-compose -f docker-compose.yml -f docker-compose.override.yml up
docker-compose.yml
version: '3'
services:
web:
build: ./
docker-compose.override.yml
version: '3'
services:
web:
volumes:
- ./app:/app
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "80:80"
environment:
- FLASK_APP=app/main.py
- FLASK_DEBUG=1
- 'RUN=flask run --host=0.0.0.0 --port=80'
我的问题是,我真的需要使用两个撰写文件来运行它吗?如果是这样,为什么?
答案 0 :(得分:1)
您不必使用两个文件。您可以将这两个文件合并为一个,然后使用它。
第二个文件将覆盖第一个文件中已经存在的设置。在某些情况下这可能很有用。您可以使用不同的“覆盖”文件来测试不同的设置。
例如,您正在开发一个Web应用程序。此网络应用具有常规配置,在任何情况下均有效。这些配置将位于docker-compose.yml
中。现在,您可以在“开发模式”下的开发过程中启动它。此模式具有一些您通过docker-compose.dev.yml
传递的配置。您使用这两个文件启动应用程序,并且可以在本地工作。完成工作后,您想在“生产模式”下测试您的应用程序。此模式的所有配置都位于另一个文件docker-compose.prod.yml
中。现在,您只需在-f
中交换第二个docker-compose up
参数即可以这种模式启动应用程序。
文件名docker-compose.yml
和docker-compose.override.yml
不是必需的。如果存在这些文件,则默认使用它们。