Имя хоста Docker внутри контейнера

#docker

Вопрос:

Я использую контейнер docker для запуска некоторых тестов браузера.

Для некоторого рабочего процесса OAuth мне нужно пользовательское имя хоста, которое я могу переслать, например, на сайт OAuth my.dev.site .

Обычно в средах, отличных от докеров, я просто добавляю запись в /etc/hosts файл, которая приводит my.dev.site к 127.0.0.1

Возможно ли это с докером, и если да, то как?

Комментарии:

1. Просто добавьте запись в свой /etc/hosts файл внутри контейнера?

2. Это может быть самым простым ответом, я не знал, что /etc/hosts в контейнерах есть файл (например, для ubuntu базового изображения). Сначала я должен попробовать. Спасибо @супер

Ответ №1:

По умолчанию узлы контейнеров docker идентифицируются по их имени.

Однако в файле компоновки вы можете использовать extra_host поле для добавления имен хостов в /etc/hosts в контейнерах.

https://docs.docker.com/compose/compose-file/compose-file-v3/#extra_hosts

 extra_hosts:
  - "my.dev.site:127.0.0.1"
 

И версия запуска docker

https://docs.docker.com/engine/reference/run/#network-settings

docker run --add-host my.dev.site:127.0.0.1 <image>