运行两个docker-依次合成文件,tiangolo图片

Run two docker-compose files one after another, tiangolo image

我是 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'

我的问题是,我真的需要 运行 使用两个撰写文件吗?如果是,为什么?

您不必使用两个文件。您可以将这两个文件合并为一个文件并使用它。

第二个文件覆盖第一个文件中已有的设置。这在某些情况下很有用。您可以使用不同的 "overwrite" 文件来测试不同的设置。

例如,您正在开发一个网络应用程序。此 Web 应用程序具有在任何情况下都有效的常规配置。这些配置将在 docker-compose.yml 中。现在您在 "dev mode" 的开发过程中启动它。此模式有一些您通过 docker-compose.dev.yml 传递的配置。您可以使用这两个文件启动您的应用程序,并且可以在本地运行。完成工作后,您想在 "production mode" 中测试您的应用。此模式的所有配置都位于另一个文件中,即 docker-compose.prod.yml。您现在可以在此模式下启动应用程序,只需交换 docker-compose up.

中的第二个 -f 参数

文件名 docker-compose.ymldocker-compose.override.yml 不是强制性的。如果存在这些文件,则默认使用它们。