欢迎光临
我们一直在努力

不允许带有docker systemctl的systemctl操作

本站教程收集整理的这篇文章主要介绍了不允许带有docker systemctl的systemctl操作,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

Dockerfile

FROM centos:7
ENV container docker
VOLUME ["/sys/fs/cgroup"]
RUN yum -y update
RUN yum install -y httpd
RUN systemctl start httpd.service
ADD . /code
workdir /code

泊坞窗,compose.yml

version: '2'
services:
web:
   privileged:香港vps true
   build: .
   ports:
    - "80:80"
   volumes:
    - .:/code

命令

docker-compose build

错误:

第6步:运行systemctl启动httpd.service
?—>在5989c6576ac9中运行
?[91m无法获得D-Bus连接:不允许操作
?[0m?[31mERROR?[0m:服务’网’未能建立:命令’/ bin / sh -c syste@H_171_25@mctl start httpd.service’返回非零代码:1

Obs:在Windows 7上运行:(

有提示吗?

最佳答案
如centos docker image repository中所述,默认情况下Systemd未处于活动状态.要使用systemd,您需要包含类似于下面示例Dockerfile的文本:

FROM centos:7
MAINTAINER "you" stemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; donE); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]

此Dockerfile删除可能导致问题的许多单元文件.从这里开始,您就可以构建基本映像了.

$docker build --rm -t local/c7-systemd .

要使用上面创建的systemd启用的基本容器,您需要将Dockerfile更改为:

FROM local/c7-systemd
ENV container docker
VOLUME ["/sys/fs/cgroup"]
RUN yum -y update
RUN yum install -y httpd
RUN systemctl start httpd.service
ADD . /code
workdir /code

本站总结

以上是本站教程为你收集整理的不允许带有docker systemctl的systemctl操作全部内容,希望文章能够帮你解决不允许带有docker systemctl的systemctl操作所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。