Вставьте ip родительского хоста Docker в файл хоста контейнера
Я новичок в Docker и пытаюсь понять, каков наилучший способ вставить ip родительского хоста docker в файл хоста контейнера.
Я использую следующую команду в моем Dockerfile
RUN /sbin/ip route|awk '/default/ { print $3,"\tdockerhost" }' >> /etc/hosts
но иногда хосты ip получают изменения, так что их больше неактуально...
Причина для этого, если вы спросите себя, заключается в том, что мне нужно получить доступ к еще двум контейнерам докеров (и ссылка не предлагает эту функцию).
Спасибо,
2 ответа
--add-host
вариант сделан для этого. Итак, в вашем docker run
команда, сделайте что-то вроде:
docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [my container]
--add-host
опция может быть использована при создании / запуске вашего контейнера, но так как /sbin/ip
Команда недоступна в операционных системах, таких как OSX, мы можем использовать более общее решение: docker run --add-host=dockerhost:`docker network inspect \
--format='{{range .IPAM.Config}}{{.Gateway}}{{end}}' bridge` [IMAGE]