Ответ 1
Для этого используется опция --add-host
. Итак, в вашей docker run
выполните следующие действия:
docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [my container]
Я новичок в Docker и пытаюсь понять, что является лучшим способом вставить родительский IP-адрес докера в файл хостов контейнеров.
Я использую следующую команду в своем 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]