学习优先级:★★★☆☆

易用性:★★★★☆

docker-compose.override.yml 文件允许你覆盖 docker-compose.yml 文件中的默认配置,而无需更改原始文件。这在你只想在本地或特定环境中更改某些配置时非常有用,而不需要修改整个 Compose 文件。

使用 docker-compose.override.yml,你可以覆盖端口、环境变量或卷等配置,从而提高 Docker 环境的灵活性。

示例代码

docker-compose.yml

version: '3'

services:
  web:
    image: nginx
    ports:
      - "80:80"

docker-compose.override.yml

version: '3'

services:
  web:
    ports:
      - "8080:80"  # 覆盖端口,以便在本地使用 8080

执行结果

运行 docker-compose up 时,Web 服务将覆盖默认的端口 80,改为在本地使用端口 8080,而无需更改 docker-compose.yml 文件。这在团队协作或不同环境中非常有用。

补充说明

docker-compose.override.yml 文件会在运行 docker-compose up 时自动加载。这有助于在不更改主配置文件的情况下进行本地调整。

补充说明

你还可以为不同环境创建多个覆盖文件。例如,可以有一个 docker-compose.prod.yml 文件,仅在生产环境中使用。这样可以为不同环境提供特定的配置,而不会影响主配置文件。