Skip to content

Instantly share code, notes, and snippets.

@AlekseyArh
Last active May 14, 2024 13:03
Show Gist options
  • Save AlekseyArh/b3132c8e9ee6ea94af126c17745743bf to your computer and use it in GitHub Desktop.
Save AlekseyArh/b3132c8e9ee6ea94af126c17745743bf to your computer and use it in GitHub Desktop.
docker compose extra_host .env

Настройка extra_hosts docker-compose через .env

Формат docker-compose.yml позволяет устанавливать значения по умолчанию.

${EXTRA_HOST_0:-host_0:127.0.0.1}

Таким образом, вы можете задать набор значений, которые в будущем могут быть заменены в .env.

.env

#EXTRA_HOST_0=host.docker.internal:host-gateway
#...
#EXTRA_HOST_9=hostname:ip

docker-compose.yml

        extra_hosts:
            -   ${EXTRA_HOST_0:-host_0:127.0.0.1}
            -   ${EXTRA_HOST_1:-host_1:127.0.0.1}
            -   ${EXTRA_HOST_2:-host_2:127.0.0.1}
            -   ${EXTRA_HOST_3:-host_3:127.0.0.1}
            -   ${EXTRA_HOST_4:-host_4:127.0.0.1}
            -   ${EXTRA_HOST_5:-host_5:127.0.0.1}
            -   ${EXTRA_HOST_6:-host_6:127.0.0.1}
            -   ${EXTRA_HOST_7:-host_7:127.0.0.1}
            -   ${EXTRA_HOST_8:-host_8:127.0.0.1}
            -   ${EXTRA_HOST_9:-host_9:127.0.0.1}

Если вам нужно указать хост, просто установите значение .env.

#EXTRA_HOST_0=host.docker.internal:host-gateway
EXTRA_HOST_1=arh.one:77.88.44.242
#...
#EXTRA_HOST_9=hostname:ip

/etc/hosts вашего контейнера будет выглядеть примерно так:

127.0.0.1       host_0
127.0.0.1       host_6
127.0.0.1       host_2
127.0.0.1       host_3
77.88.44.242    arh.one
127.0.0.1       host_5
127.0.0.1       host_7
127.0.0.1       host_8
127.0.0.1       host_9
127.0.0.1       host_4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment