Esta publicación muestra cómo agregar entradas de host en /etc/hosts en el contenedor docker cuando se ejecuta. Para el propósito de esta publicación, estamos utilizando el host CentOS/RHEL 7. Pero esto debería funcionar en cualquier host Linux capaz de ejecutar las últimas versiones de docker.
En términos generales, el archivo /etc/hosts no se puede modificar antes de ejecutar el contenedor docker. Sin embargo, la ventana acoplable actual tiene una opción "–add-host ” que agrega entradas de host en /etc/hosts cuando se ejecuta el contenedor. A continuación se muestra la sintaxis para agregar una entrada de host al crear un nuevo contenedor acoplable.
$ sudo docker run --add-host [Hostname]:[IPAddress] -ti [Source_Container_Image] /bin/bash
Por ejemplo, para agregar una nueva entrada de host (192.168.0.1 host2.test.com), use el siguiente comando:
$ 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
El ejemplo trae /etc/hosts en el nuevo contenedor que tiene host1.test.com y host2.test.com como:
[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 /]#