Docker comp override port property instead of combining it

My docker configuration files look like this:

Docker-compose.yml

version: '3.5'

services:
    nginx:
        ports:
            - 8080:8080

Docker-compose.prod.yml

version: '3.5'

services:
    nginx:
        ports:
            - 80:80

Now when I run the command: docker-compose -f docker-compose.yml -f docker-compose.prod.yml upnginx provides two ports on the host machine: 8000and 80because it combines the properties of the ports:

version: '3.5'

services:
    nginx:
        ports:
            - 8080:8080
            - 80:80

Is there a way to override it? I want to show only the port80

+4
source share
2 answers

This behavior is documented at https://docs.docker.com/compose/extends/#adding-and-overriding-configuration

For multi-valued options ports, expose, external_links, dns, dns_searchand tmpfsCompose combines both sets of values

ports , docker-compose.dev.yml, , docker-compose.yml.

, docker-compose.override.yml , docker. docker-compose.override.yml , (, docker-compose -f docker-compose.yml -f docker-compose.prod.yml)

+1

.override.yml , .

docker-compose.override.yml

ex:

version: '3.5'

services:
    nginx:
        ports:
            - 80:80

:

docker-compose up

docker-compose.yml docker-compose.override.yml

: docker-compose multiple compose

-1

Source: https://habr.com/ru/post/1693792/


All Articles