文档章节

Failed to get D-Bus connection: Operation not permitted , docker安装centos7之坑

雪饼
 雪饼
发布于 2017/06/04 22:58
字数 604
阅读 298
收藏 1
点赞 0
评论 0

当使用docker安装centos:7镜像或centos:latest后,如果执行systemctl时,会出现以下问题

[root@68903c5fbdeb /]# systemctl stop firewalld.service
Failed to get D-Bus connection: Operation not permitted

这是docker中centos7的bug,官网上也提到了这个问题,Docker的官方CentOS镜像中没有提供systemd服务,并给出了 解决办法,虽然复杂了一点,还是可以处理的。

1、创建systemd的base image

新建一个文件 Dockerfile,这是构建docker镜像时默认读取的文件名称,也可以使用其它文件名,然后在构建时使用 -f 指定文件名即可

vi Dockerfile

输入以下内容

FROM centos:latest
ENV container docker
RUN (cd /lib/systemd/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"]

执行创建镜像命令(注意:记得命令最后要加个空格和点,否则会报错)

docker build --rm -t centos:c7-systemd .

2、基于该镜像创建http服务的镜像

重新编辑Dockerfile文件

vi Dockerfile

删除原来的内容,输入以下内容

FROM centos:c7-systemd
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80
CMD ["/usr/sbin/init"]

构建docker镜像(注意:记得命令最后要加个空格和点,否则会报错)

docker build --rm -t centos:c7-systemd-httpd .

3、使用新的镜像来创建centos7容器

记得要加上 --privileged,官方给的示例没有这个参数,执行时会报错,加上之后就不会了

docker run --privileged -it --name mycentos -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 centos:c7-systemd-httpd

4、进入docker容器执行systemctl

docker exec -it mycentos bin/bash

执行

systemctl start sshd.service

虽然现在没有提示 Failed to get D-Bus connection: Operation not permitted 问题,但却提示

[root@21481fb2cefc /]# systemctl start sshd.service
Failed to get D-Bus connection: No such file or directory

而查了systemctl的服务路径

ls /usr/lib/systemd/system | grep sshd.service

是存在 sshd.service 服务的,但执行systemctl却说是找不到文件,很奇怪

执行 systemctl enable sshd.service 也不行

[root@21481fb2cefc /]# systemctl enable sshd.service
Failed to get D-Bus connection: No such file or directory

这个问题还暂时找不到解决办法,后面继续研究

 

欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯

© 著作权归作者所有

共有 人打赏支持
雪饼

雪饼

粉丝 120
博文 38
码字总数 73649
作品 0
广州
Docker 报错 Failed to get D-Bus connection

Docker容器使用问题:Failed to get D-Bus connection: Operation not permitted 在CentOS7 中,docker容器中yum 安装完mysql后,启动mysqld报错 # systemctl start mysqld Failed to get D......

枫叶云 ⋅ 05/08 ⋅ 0

使用ssh连接docker容器

原文地址:http://blog.csdn.net/qq34021712/article/details/73379851 前言: 使用ssh连接docker容器,需要给docker容器先分配好ip之后才可以开启ssh服务,才能使用ssh连接 参考文章:给docke...

haoxiaoyong1014 ⋅ 04/19 ⋅ 0

Docker容器使用问题:Failed to get D-Bus connection: Operation not permitted

刚开始接触Docker的朋友,可能会遇到这么一个问题,使用centos7镜像创建容器后,在里面使用systemctl启动服务报错。针对这个报错,我们接下来就分析下! # docker run -itd --name centos7 c...

李振良OK ⋅ 2017/10/24 ⋅ 0

CentOS7(1708)制作docker镜像之后,开启sshd服务失败的处理办法

最近我把公司产品迁移到了CentOS1708环境下,于是就开始制作对应的docker镜像(虽然我一直“错误”的把docker当成虚机用,用着方便就好) 制作镜像完成之后,创建的容器需要自启动sshd服务,...

fylx ⋅ 2017/12/31 ⋅ 0

Docker中启动mysql报错: Failed to get D-Bus connection

docker版本: [root@localhost ~]# docker versionClient: Version: 1.10.3 API version: 1.22 Package version: docker-common-1.10.3-46.el7.centos.10.x86_64 Go version: go1.6.3 Git co......

Mr_sheng ⋅ 01/03 ⋅ 0

docker 基本操作Ⅲ

1 数据卷备份恢复 - 我们一般用的最多的是把容器和本地宿主机做目录映射直接存在本地,但是还有一种就是数据卷的备份与恢复,如下就来介绍: 先来一副图来了解一下数据卷的恢复与备份 宿主机...

我不是瘦子 ⋅ 2017/11/16 ⋅ 0

docker中遇到的问题及解决方法

docker 的深坑 1. 镜像数据问题 由于容器重启后数据会被清空,所以docker中的数据需要通过映射存放到本地磁盘持久化,启动docker镜像的时候加-V diskPath:dockerPath的参数。如: docker run ...

拖鞋的畅想 ⋅ 2017/05/23 ⋅ 0

关于docker 容器中的时间同步

故障原因:(centos6.6) 在docker容器中安装ntpdate时间同步 #yum -y install ntpdate bash-4.1# ntpdate s1a.time.edu.cn 22 Dec 14:41:16 ntpdate[31]: step-systime: Operation not per......

cxw0104 ⋅ 2017/03/03 ⋅ 0

基于Docker的服务部署流程

本次总结涉及到Docker-io、Docker-ce的安装、CentOS7镜像的制作、Docker私有仓库搭建、CentOS6.7环境下从CentOS7私有仓库拉取私有镜像、Docker容器运行、CentOS6.5及CentOS7一起运行时兼容性...

missile2010 ⋅ 05/28 ⋅ 0

Go语言gdb调试踩坑

整个是一个docker环境 docker版本: 1.12.1,镜像是我自己做的基于ubuntu:14.04.05. 容器操作系统版本: Ubuntu 14.04.5 LTS go版本: 1.6.3 在gdb中执行run命令出错! 错误输出: warning:Error d...

EDELWEISS_21g ⋅ 2016/12/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部