首页 > 解决方案 > 如何自动避免 docker mount /etc/hosts /etc/hostname /etc/resolv.conf

问题描述

我试图与一些朋友分享我的 GPGPU 工作站。由于他们使用不同的环境,我正在考虑使用 docker 容器。

df -h在 docker 容器中运行时,我发现:

Filesystem      Size  Used Avail Use% Mounted on
overlay          10G   24K   10G   1% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.8G  8.1M  3.8G   1% /run
tmpfs           3.8G     0  3.8G   0% /tmp
tmpfs           3.8G     0  3.8G   0% /run/lock
/dev/sda3       465G  6.2G  459G   2% /etc/hosts
shm              64M     0   64M   0% /dev/shm
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup

我惊讶地发现它/dev/sda3安装在/etc/hosts主机磁盘大小可见的情况下。我不愿意被看到。

虽然可以通过rc.local脚本或者一些服务进行umount,但是有什么办法可以避免docker自动挂载,让它完全由容器管理,就像普通的虚拟机一样?

Docker 版本是18.09.6, build 481bc77

Docker 容器由以下人员启动:

docker run -it --net=macvlan -d --cap-add=SYS_ADMIN --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro -e "container=docker" --device /dev/fuse -v /dev/hugepages:/dev/hugepages --runtime=runc --storage-opt "size=10G" ubuntu:16.04 /sbin/init

Dockerfile 自动从 docker hub 获取,无需任何更改。

https://hub.docker.com/_/ubuntu

https://github.com/tianon/docker-brew-ubuntu-core/blob/010bf9649b1d10e2c34b159a9a9b338d0fdd4939/xenial/Dockerfile

标签: docker

解决方案


推荐阅读