Modificar el archivo hosts en dockerfile

Tengo un Dockerfile con instrucciones de EJECUCIÓN para modificar el archivo /etc/hosts pero no funciona.

FROM dockerhub.mydomain.com/sometag/java8MAINTAINER itsmeADD some-java-app.jar app.jarADD hosts tmp/ENV PATH=/opt/java/bin:$PATHRUN cat /tmp/hosts >> /etc/hostsCMD ["java",\    "-Djava.security.egd=file:/dev/./urandom",\    "-jar",\    "/app.jar"]

En hosts el archivo que se copia en /tmp en la imagen de la ventana acoplable tiene nombres de host e IP adicionales. Quiero cat que /tmp/hosts a /etc/hosts pero después de la construcción de la imagen /etc/hosts no está modificado.

Cómo modificar este archivo correctamente?EDIT: Estoy tratando de usar tee comando pero mientras la imagen es construir contenido de /tmp/hosts se hace eco para consolar, no para /etc/hosts.

RUN bash -c 'cat /tmp/hosts | tee -a /etc/hosts'

Parece que | o >> no funciona en Dockerfile.

Docker crea /etc/hosts archivo mientras se inicia el contenedor. Es por eso que mis modificaciones de /etc/hosts el archivo se sobrescribe. Puedo cambiar el archivo de hosts dinámicamente, a través del comando CMD.

FROM dockerhub.mydomain.com/sometag/java8MAINTAINER itsmeADD some-java-app.jar app.jarADD hosts tmp/ENV PATH=/opt/java/bin:$PATHCMD cat /tmp/hosts >> /etc/hosts; java -Djava.security.egd=file:/dev/./urandom -jar /app.jar; cat /etc/hosts

Los últimos comandos muestran los cambios realizados por el primer comando en la fila CMD.

Creo que si desea importar un archivo, debe usar el copy función y no add - agregue si está obteniendo de una URL o importando un archivo.

docker da esto como ejemplo:

COPY requirements.txt /tmp/RUN pip install --requirement /tmp/requirements.txtCOPY . /tmp/

entonces, en su ejemplo, esto debería funcionar

COPY hosts /tmp/ENV PATH=/opt/java/bin:$PATHRUN cat /tmp/hosts >> /etc/hosts