Docker回显到/ etc / hosts无效

kev*_*kev 3 docker dockerfile

Dockerfile:

FROM ubuntu:latest

RUN touch /tmp/foo
RUN echo 'bar' > /tmp/foo

RUN echo '192.168.99.100 foo' >> /etc/hosts

ENTRYPOINT /bin/bash
Run Code Online (Sandbox Code Playgroud)

容器内:

root@47040a03cbc1:/# cat /tmp/foo 
bar
root@47040a03cbc1:/# cat /etc/hosts 
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.4  47040a03cbc1
Run Code Online (Sandbox Code Playgroud)

为什么第一回声/tmp/foo工作,但第二到/etc/hosts不?

Alf*_*ssi 8

Docker管理/ etc / hosts。这样做是为了使容器链接工作。您可以在启动容器时要求docker附加到hosts文件

docker run -it --add-host foo:192.168.99.100
Run Code Online (Sandbox Code Playgroud)