Questo post mostra come aggiungere voci host su /etc/hosts sul contenitore docker quando viene eseguito. Ai fini di questo post, stiamo usando l'host CentOS/RHEL 7. Ma questo dovrebbe funzionare su qualsiasi host Linux in grado di eseguire le ultime versioni della finestra mobile.
In generale, il file /etc/hosts non può essere modificato prima di eseguire il contenitore docker. Tuttavia, la finestra mobile corrente ha un'opzione "–add-host ” che aggiunge voci host su /etc/hosts quando il contenitore viene eseguito. Di seguito è riportata la sintassi per aggiungere una voce host durante la creazione di un nuovo contenitore Docker.
$ sudo docker run --add-host [Hostname]:[IPAddress] -ti [Source_Container_Image] /bin/bash
Ad esempio, per aggiungere una nuova voce host (192.168.0.1 host2.test.com) utilizzare il comando seguente:
$ 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
L'esempio porta /etc/hosts nel nuovo contenitore che ha host1.test.com e host2.test.com come:
[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 /]#