san*_*anz 8 host docker dockerfile
我正在尝试将主机添加/etc/hosts到 Docker 映像中。我的 Dockerfile 中有以下行:
RUN echo 10.162.34.15 my-host-name >> /etc/hosts
Run Code Online (Sandbox Code Playgroud)
当我运行时docker build,出现以下错误:
#8 0.624 /bin/sh: 1: cannot create /etc/hosts: Read-only file system
Run Code Online (Sandbox Code Playgroud)
我发现了 Docker 早期版本中的各种旧问题,这些问题/etc/hosts是只读的,但与为什么会在更高版本中发生这种情况无关。我正在使用 Docker Desktop for Mac 3.3.3、Docker 引擎 20.10.6。
我知道docker run --add-host并extra_hosts在docker-compose. 我愿意使用其中之一,但我想至少了解此错误的根源。
从/etc/hosts 上的 docker 文档页面,他们说 docker 本身可能会更新该文件。
\n\n\n由于 Docker 可能会实时更新容器\xe2\x80\x99s /etc/hosts 文件,因此在某些情况下容器内的进程最终可能会读取空或不完整的 /etc/hosts 文件。在大多数情况下,重新尝试读取应该可以解决问题。
\n
因此,由于 docker 可能会重写文件,因此您在映像/容器内部所做的任何更改都将丢失。为了防止这种情况发生,他们根本不允许您更改它,因此您会收到只读 FS 错误。
\n| 归档时间: |
|
| 查看次数: |
7688 次 |
| 最近记录: |