В более новой версии docker это можно сделать с помощью docker-compose и его extra_hosts
директивы
Добавьте сопоставления имен хостов.
Используйте те же значения, что и параметр docker run
клиента--add-host
(который уже должен быть доступен для docker 1.8).
extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"
Вкратце: модифицируйте /etc/hosts
ваш контейнер при его запуске, а не строите его.
С Docker 17.x + у вас есть docker build --add-host
упомянутое ниже , но, как прокомментировано в проблеме 34078 и в этом ответе :
--add-host
Особенность во время сборки разработана , чтобы позволить переопределение хозяина во время сборки, но не сохранять эту конфигурацию в изображении.
Упомянутые решения действительно относятся к docker-compose, который я предлагал выше:
- Запустите внутренний DNS; вы можете установить DNS-сервер по умолчанию для использования в демоне; таким образом каждый запущенный контейнер будет автоматически использовать настроенный DNS по умолчанию
- Используйте docker compose и предоставьте
docker-compose.yml
своим разработчикам.
Файл docker compose позволяет указать все параметры, которые следует использовать при запуске контейнера, поэтому разработчики могут просто создать docker compose, чтобы запустить контейнер со всеми параметрами, которые им нужно установить.