Cómo manejar un nombre de host específico como la opción -h en Dockerfile
Estoy usando CentOS 7 como Docker Daemon Host y Centos: 6 imágenes Docker.
Quiero instalar algún software que requiera un nombre de host resoluble como dirección que no sea de bucle invertido. Si ejecuto una imagen acoplable con la opción -h como
docker run -i -t -h myhost centos:6 /bin/bash
Entonces puedo instalar el software porque / etc / hosts en el contenedor se configura automáticamente como
[root@myhost /]# cat /etc/hosts
172.17.0.7 myhost
127.0.0.1 localhost
[root@myhost /]# ping myhost
PING myhost (172.17.0.7) 56(84) bytes of data.
64 bytes from myhost (172.17.0.7): icmp_seq=1 ttl=64 time=0.033 ms
Pero no puedo usarlo de la misma manera si creo una imagen desde Dockerfile. Probé creando una imagen usando el siguiente Dockerfile
FROM centos:6
ENV HOSTNAME myhost
RUN ping myhost
En el proceso de compilación de Docker, el nombre de host asignado no se puede resolver como dirección IP dinámica de la siguiente manera:
$ docker build -t testimage .
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon
Step 0 : FROM centos:6
---> a30bc9f3097e
Step 1 : ENV HOSTNAME myhost
---> Using cache
---> e73bf592389e
Step 2 : RUN ping myhost
---> Running in ca54c8eac073
ping: unknown host myhost
INFO[0000] The command [/bin/sh -c ping myhost] returned a non-zero code: 2
¿Cómo puedo usar algún nombre de host específico resuelto como dirección dinámica de contenedor IP?