无法使用RUN从Dockerfile写入/ etc / hosts文件

我使用一个非常简单的Dockerfile来制作一个docker镜像。 在Dockerfile里面我有这个命令:

RUN printf "192.92.13.243 www.hahaha.com \n" >> /etc/hosts 

命令本身似乎没有问题,因为在这一点上图像的创build不会停止。

问题是这样的:运行映像时,应该插入“/ etc / hosts”的行不在那里。

现在,我search了一下,发现Docker 1.2版之前,容器里面的hosts文件有问题。 就我而言,我正在使用1.5版本,这是目前最新的版本。

我错过了什么吗?

更新1:

在Docker的github页面中,似乎有很多问题,无论是开放还是closures。

    这适用于docker 1.7.0

     RUN echo "192.168.11.112 myhost" >> /etc/hosts && wget http://myhost 

    诀窍是在使用它的同一行上添加主机名,否则hosts文件将被重置,因为每个RUN命令都会启动一个新的中间容器。 例如, 这不起作用

     RUN echo "192.168.11.112 myhost" >> /etc/hosts RUN wget http://myhost 

    在写了更新到我的问题后,我决定再看一下在github中打开的“问题”。 原来,一个解决方法已经实施:

     docker run ... --add-host='server:0.0.0.0' ... 

    启动容器时使用“–add-host …”参数可以修改主机文件。