1. 程式人生 > >docker常用命令整理-在容器中使用service命令

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

常用 root權限 init 玩耍 註意 方案 rabbitmq linu leg

在docker中使用centos鏡像啟動了容器並安裝了相關軟件,之後想用service命令啟動相關服務卻收到如下錯誤:

通過多方搜索,根據網上給出的解決方案處理無效。後加入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、然後你就可以愉快的玩耍了

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