030*_*030 5 dmesg docker centos7
为了调试发生此问题的原因,在容器上运行以下命令:
docker run -it <dockerImageName> dmesg
Run Code Online (Sandbox Code Playgroud)
结果是:
dmesg: read kernel buffer failed: Permission denied
Run Code Online (Sandbox Code Playgroud)
尝试
docker run -it <dockerImageName> sudo dmesg
返回相同的问题小智 7
正如迈克尔·汉普顿(Michael Hampton)提到的,容器旨在仅运行单个原子服务。事实上,人们应该明白容器不是虚拟机,而是本地主机上的一个进程。
尽管如此,我知道,从这里让 SystemD 在容器内工作有点困难
我能够让 SystemD 在从 centos:centos7 构建的映像中工作:
docker run --privileged -ti -e "container=docker" -v /sys/fs/cgroup:/sys/fs/cgroup tritronx/ansible-base:stable-centos7 /usr/sbin/init
由于某些未记录的原因,显然需要变量container=docker。/sys/fs/cgroup 也是必需的,因为根据 RedHat Bug 1033604,SystemD 需要 cgroup 才能正常工作。
完成此操作后,尝试使用登录到容器docker exec -it <container> /bin/bash
,然后您可以执行systemctl
命令。
归档时间: |
|
查看次数: |
7520 次 |
最近记录: |