本文轉自:https://segmentfault.com/q/1010000000424935
問題:
我想在docker run的時候,用-d參數運行/bin/bash,然后讓這個bash一直跑着,我要用的時候就docker attach上去。但是我一跑docker run -d .... /bin/bash,這個容器就運行結束停下來了。這是為毛啊,有啥解決方案沒。
解決:
我自己也遇到這個問題。不過不同的時,我希望docker run的時候,可以讓容器一直在后台運行,並允許我遠程登陸進去操作。
我把文章拷貝過來了:ssh遠程登陸一個容器
----內容開始-----
啟動了一個容器之后,我們可能需要用ssh登陸進去進行一些操作。為達到此目的,有2點需要保證:
- 容器必須處於運行狀態。
- openssh-server處於啟動狀態。
注意:以下示例是在ubuntu/13.10中完成的
首先確保鏡像安裝有openssh-server
服務
# 官方鏡像一般沒有安裝ssh服務端,so,需要安裝一個 apt-get install openssh-server # 設置一個初始密碼 passwd 123 ...
然后,提交鏡像:
docker commit CONTAINER_ID NAME/VERSION
最后,運行鏡像,並讓生成的容器一直在后台運行:
# 第一個-d表示讓容器在后台運行 # 末尾的-D表示啟動ssh的daemon模式,不然容器啟動后立刻就變為停止狀態了 docker run -d NAME/VERSION /etc/init.d/ssh start -D
現在,便可以ssh登陸容器了。
# 查詢容器IP docker inspect CONTAINER_ID | grep IP # 登入 ssh root@IP # 輸入密碼 123完成登陸 # 為保證安全,請即刻用passwd修改密碼