Добавить запись в файл хоста /etc/hosts при запуске контейнера докеров

89
12

Я хочу иметь возможность добавлять имена хостов на мой ноутбук /etc/hosts, который отображается в контейнере докеров. Поскольку контейнеры ips не являются статичными, каждый сайт запускает/перезапускает контейнер, мне нужно будет вручную обновить файл /etc/hosts, что не очень практично.


Я ищу простой способ решить эту проблему.
Я мог бы сделать какой-то script, который слушает события докеров, проверяет ip-адрес контейнера и обновления /etc/hosts, но я не хочу изобретать колесо. (что-то вроде этого: https://github.com/discordianfish/docker-spotter), но я не мог понять, как это работает.


У кого-нибудь есть предложение?.
Спасибо.

спросил(а) 2021-01-25T21:33:37+03:00 4 месяца, 2 недели назад
1
Решение
76

Это можно использовать в файле docker-compose.yml, используя extra_hosts. Например:

version: '2'
services:
daemon:
build: ./
extra_hosts:
- "example.com:127.0.0.1"

ответил(а) 2021-01-25T21:33:37+03:00 4 месяца, 2 недели назад
45

Чтобы подробнее остановиться на этом, я опубликовал похожий, но более конкретный вопрос о том, как стилизовать, и с некоторыми дополнительными деталями, которые могут быть вам полезны:

Вопрос: Как проверить IP контейнера, получить его и добавить в файл /etc/hosts с разрешением локального имени домена


Вопрос гиперссылки

ответил(а) 2021-01-25T21:33:37+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема