如何装入 – 在Docker容器内绑定?
我有这个容器基于debian:jessie
(但是这不是很相关,因为我有与alpine:3.3
相同的问题alpine:3.3
)。 我到了需要的地步
mount --bind /htdocs/www /home/user/example.com/www
我得到了
mount: permission denied
我在任何内核日志中找不到任何内容, -vvv
没有任何意义。 我显然可以在主机上(与任何其他的子树/节点)做到这一点。 在我上面的例子中,/ htdocs / www是一个Docker卷的挂载点,但是看起来并不重要,因为我无法mount --bind
在容器内mount --bind
任何一对子树/节点。
要使用mount
系统调用,您需要CAP_SYS_ADMIN
function。 默认情况下,当产生一个容器时,Docker将会抛弃所有的function(意味着即使是root用户 ,也不允许这样做)。 有关更多信息,请参见mount(2)手册页 。
您可以使用--cap-add=SYS_ADMIN
标志来启动您的容器,以将此function添加到您的容器中:
root@host > docker run --rm -it --cap-add=SYS_ADMIN debian:jessie root@ee0b1d5fe546:/# mkdir /mnt/test root@ee0b1d5fe546:/# mount --bind /home /mnt/test/ root@ee0b1d5fe546:/#
请谨慎使用 。 不要在特权容器中运行不受信任的软件。
- 通过Docker安装OpenFOAM
- 在mac os上运行clickhouse docker映像时出错
- 在Azure-Container-Service中安装卷对于traefik.toml和/var/run/docker.sock不起作用
- 在CentOS7上暴露Docker Remote API v1.22
- Docker nginx错误在安assembly置文件
- Gitlab CI:将Apache服务Docker DocumentRoot目录挂载到主要的Docker中
- s3安装在容器内。 如何把它暴露给主机?
- 如何在Docker中运行一个库 – 混淆
- Docker(带有SYSTEMCTL的CentOS 7):无法安装tmpfs&cgroup