我是使用 docker 的新手,正在配置容器。
我无法编辑 /etc/hosts (但需要编辑我正在开发的某些软件)。自动编辑(通过 sudo 或 root)文件表示它位于只读文件系统上。文件的手动(vim)编辑显示其为只读,并且我无法将更改保存为 root(文件权限为所有者(root)的 rw)。
不过,我可以修改其他文件并在 /etc 中添加文件。
这有什么原因吗?
我可以更改 Docker 配置以允许编辑 /etc/hosts 吗?
thanks
UPDATE 2014-09
参见@Thomas的回答:
从 Docker 1.2 开始,/etc/hosts 现在是可写的。
原答案
同时你可以使用这个 hack
https://unix.stackexchange.com/questions/57459/how-can-i-override-the-etc-hosts-file-at-user-level https://unix.stackexchange.com/questions/57459/how-can-i-override-the-etc-hosts-file-at-user-level
在你的 Dockerfile 中:
ADD your_hosts_file /tmp/hosts
RUN mkdir -p -- /lib-override && cp /lib/x86_64-linux-gnu/libnss_files.so.2 /lib-override
RUN perl -pi -e 's:/etc/hosts:/tmp/hosts:g' /lib-override/libnss_files.so.2
ENV LD_LIBRARY_PATH /lib-override
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)