【发布时间】:2019-10-27 23:01:38
【问题描述】:
我使用sudo docker run -it ubuntu:latest /bin/bash 运行一个简单的 docker 容器
当我检查挂载的文件系统时,使用:df -h,一个
Filesystem Size Used Avail Use% Mounted on
overlay 63G 4.3G 56G 8% /
tmpfs 64M 0 64M 0% /dev
tmpfs 1000M 0 1000M 0% /sys/fs/cgroup
/dev/sda1 63G 4.3G 56G 8% /etc/hosts
....
我没看懂最后一行,即/dev/sda1 -> /etc/hosts,当我在主机上运行df -h时,我得到了挂载/dev/sda1 -> /。
所以/dev/sda1其实是我的硬盘,为什么挂载到容器上的/etc/hosts,又怎么会容器上的/etc/hosts是一个内容正确的文件。
对这里发生的事情有任何解释吗?这是如何工作的?
【问题讨论】:
-
输出有点误导。只有hosts文件被挂载到容器中,因为docker需要控制它的内容。
-
@Henry 容器中的
/etc/hosts文件不是从宿主机挂载的,是不同的文件 -
没错,它是一个由 docker 控制的文件(很可能在 /var/lib/docker 下的某个地方)。不是docker主机的/etc/hosts。
标签: linux docker ubuntu mount hosts