覆盖 docker 不工作

web*_*ner 5 docker docker-compose

我更改文件“docker-compose.override.yml”中的端口并运行 docker (docker-compose up)。Docker 在覆盖中看不到我的更改(端口)。

内容覆盖:

version: '2'

services:
    nginx:
        ports:
            - 87:80
Run Code Online (Sandbox Code Playgroud)

为什么 docker 不更改端口?

小智 3

嗯,你对问题的描述相当小而且纯粹。实际上,有两种方法可以实现您可能想要实现的目标。

因此,首先您可以拥有多个docker-compose.yml文件。

docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d

另一方面,您可以使用extends选项。

请记住,其中的某些选项docker-compose.yml可以连接起来,如以下引用所示。

对于多值选项 ports、expose、external_links、dns、dns_search 和 tmpfs,Compose 连接两组值:

参考:

  • 根据[多个撰写文件的当前文档](https://docs.docker.com/compose/extends/#multiple-compose-files),这个答案似乎不应该是必需的,其中说: _“默认情况下,Compose 读取两个文件,一个‘docker-compose.yml’和一个可选的‘docker-compose.override.yml’文件。”_ (3认同)