No se puede escribir en el archivo / etc / hosts desde Dockerfile con RUN

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

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım