Pregunta:
Estoy haciendo una imagen de Docker usando un Dockerfile bastante simple. Dentro del Dockerfile tengo este comando:
RUN printf "192.92.13.243 www.hahaha.com \n" >> /etc/hosts
El comando en sí parece estar bien, ya que la creación de la imagen no se detiene en este punto.
El problema es este: cuando se ejecuta la imagen, la línea que se supone que se insertó dentro de "/ etc / hosts" no está allí.
Ahora, busqué y descubrí que antes de la versión 1.2 de la ventana acoplable, había un problema con el archivo de hosts dentro de los contenedores. En mi caso, estoy usando la versión 1.5, la última hasta el momento.
¿Me estoy perdiendo de algo?
ACTUALIZACIÓN 1:
Parece haber muchos problemas para esto, tanto abiertos como cerrados, en las páginas de github de Docker.
Respuesta:
Esto funciona en Docker 1.7.0
RUN echo "192.168.11.112 myhost" >> /etc/hosts && wget http://myhost
El truco consiste en agregar el nombre de host en la misma línea en la que lo usa; de lo contrario, el archivo de hosts se restablecerá, ya que cada comando RUN inicia un nuevo contenedor intermedio. Por ejemplo, esto no funcionará :
RUN echo "192.168.11.112 myhost" >> /etc/hosts
RUN wget http://myhost