Thank you for reading this post, don't forget to subscribe!
В этом руководстве показано, как добавлять записи хоста в /etc/hosts в контейнере Docker при его запуске.
Для этого мануала мы используем хост CentOS / RHEL 7.
Но это должно работать на любом хосте Linux, способном работать с последними версиями Docker.
Вообще говоря, файл /etc/hosts нельзя изменить перед запуском контейнера Docker.
Однако текущий Docker имеет опцию «–add-host», которая добавляет записи хоста в /etc/hosts при запуске контейнера.
Ниже приведен синтаксис для добавления записи узла при создании нового контейнера Docker.
1 |
$ sudo docker run --add-host [Hostname]:[IPAddress] -ti [Source_Container_Image] /bin/bash |
Например, чтобы добавить новую запись хоста (192.168.0.1 host2.test.com), используйте следующую команду:
1 |
$ sudo docker run --add-host host1.test.com:192.168.0.1 --add-host host2.test.com:192.168.0.2 -ti source_container_image /bin/bash |
В этом примере /etc/hosts добавлен в новый контейнер, в котором есть host1.test.com и host2.test.com, например:
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@63933bfcd3d3 /]# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 192.168.0.1 host1.test.com 192.168.0.2 host2.test.com 172.17.0.4 63933bfcd3d3 [root@63933bfcd3d3 /]# |