Docker Centos7:无法将tmpfs挂载为/ run:不允许操作

问题描述

所以我想让systemctl在docker容器上工作以进行分配,所以我使用了以下命令:

docker run --privileged -ti  -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup s3696653/usap-a1 usr/sbin/init

一切正常,但是我还没有完全阅读规范,因此我们不应该使用systemctl。因此,我停止了容器,并尝试使用以下方法像正常一样运行容器:

docker run -i -t s3696653/usap-a1

但是它不再起作用。 我收到错误消息:

无法将tmpfs挂载为/ run:不允许操作

[!!!!!!]无法挂载API文件系统,冻结。

如何使用正常的run命令使其运行? 预先感谢。

解决方法

虽然建议不要在容器内使用systemd或使用特权模式,但建议并没有指示,如果不遵守该书,将导致新泽西州警察在晚上把您拖走并带走您。如果您使用--priviledged来运行它,那么接下来请尝试查看在没有它的情况下运行它所需要的操作,以避免它使您的设置更加安全。

使用-v(由docker official documentation)称为绑定安装)应该可以帮助您传递所需的卷,而无需使用--privileged选项。实际上,这是旧stackoverflow中的systemd-docker示例thread提出类似问题:

docker run -ti --tmpfs /tmp --tmpfs /run -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...