在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、然后你就可以愉快的玩耍了