docker常用命令整理-在容器中使用service命令

在docker中使用centos镜像启动了容器并安装了相关软件,之后想用service命令启动相关服务却收到如下错误:

Failed to get D-Bus connection: Operation not permitted

通过多方搜索,根据网上给出的解决方案处理无效。后加入docker中国QQ交流群咨询,无效。最后找docker命令相关文档,终于解决了问题,赶紧记录下拉。

解决方案:

1、以后台方式启动容器:

# docker run -itd -p 15672:15672 -p 5672:5672 --privileged=true centos/rabbitmq /usr/sbin/init

-itd参数中的d指明以后台方式启动容器 

-p指定宿主与容器间的端口映射

-privileged=true 设置容器中的root拥有真正的root权限

/usr/sbin/init 执行容器环境的系统init(我不确定到底是干啥,本人linux新手一枚)

特别注意,一定要加上参数d否则命令行会卡住没反应(卡了我2个多小时..........,其实容器已经启动了)。

2、通过命令连接到容器

上面的命令执行成功后,将返回容器的ID,如下:

91980c3aed0672298adc8c177fa1c2345a0d545ec85e34196895f4bdb674e258

通过下面的命令连接到容器,执行交互操作:

# docker exec -it 91980  bash

3、然后你就可以愉快的玩耍了

 

posted @ 2018-05-30 17:59  DW039  阅读(4220)  评论(0编辑  收藏  举报