docker RUN附加到Dockerfile中的/ etc/hosts不起作用

Rob*_*ely 18 docker dockerfile

我有一个简单的Dockerfile,但第一个RUN命令(将主机IP地址附加到/ etc/hosts)没有任何效果

FROM dockerfile/java
RUN sudo echo "XX.XX.XXX.XXX some.box.com MyFriendlyBoxName" >> /etc/hosts
ADD ./somejavaapp.jar /tmp/
#CMD java -jar /tmp/somejavaapp.jar
EXPOSE 8280
Run Code Online (Sandbox Code Playgroud)

我建立使用

docker build .
Run Code Online (Sandbox Code Playgroud)

然后测试RUN回波线是否有效

sudo docker run -t -i <built image ID> /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后我进入容器但未附加/ etc/hosts文件.现在在容器中运行相同的echo ....行具有所需的效果

谁能告诉我我的dockerfile RUN有什么问题......?

kev*_*kev 31

/etc/hosts每次创建新容器时,Docker都会动态生成.这样它就可以联系其他人.你可以使用--add-host选项:

docker run --add-host www.domain.com:8.8.8.8 ubuntu ping www.domain.com
Run Code Online (Sandbox Code Playgroud)

  • 要在一个IP上使用多个名称,请尝试将名称括在双引号中:`--add-host"www.domain.com www.otherdomain.com":8.8.8.8` (3认同)