2 回答

TA貢獻1854條經驗 獲得超8個贊
Docker容器運行后,如何進入容器進行操作呢?起初我是用SSH。如果只啟動一個容器,用SSH還能應付,只需要將容器的22端口映射到本機的一個端口即可。當我啟動了五個容器后,每個容器默認是沒有配置SSHServer的,安裝配置SSHD,映射容器SSH端口,實在是麻煩。我發現很多Docker鏡像都是沒有安裝SSHD服務的,難道有其他方法進入Docker容器?有很多種方法,包括使用dockerattach命令或nsenter工具等。使用attach命令有時候并不方便。當多個窗口同時attach到同一個容器的時候,所有窗口都會同步顯示。nsenter可以訪問另一個進程的名字空間。為了連接到容器,你還需要找到容器的第一個進程的PID,可以通過下面的命令獲取。

TA貢獻1780條經驗 獲得超1個贊
推薦使用Dockerfile方式。 服務的管理使用的是supervisord, 因為dockerfile里只會有一個cmd生效,如果我想通過ssh去管理容器還要有mysql服務的啟動起來 cmd的方式就無法實現,當然容器不需要以sshd的方式去管理,這些也都是看自己怎么去使用,比如說我想備份容器里的數據 我完全可以使用 –volumes-from <容器name> , 重啟使用 docker restart <容器id>, 我個人也是使用ssh習慣了 所以依賴的鏡像把ssh服務栽進去了。 # docker 版本: 復制代碼 代碼如下: [root@private_network mysql]# docker version Client version: 1.6.0-rc5 Client API version: 1.18 Go version (client): go1.4.2 Git commit (client): fc4825d OS/Arch (client): linux/amd64 Server version: 1.6.0-rc5 Server API version: 1.18 Go version (server): go1.4.2 Git commit (server): fc4825d OS/Arch (server): linux/amd64[/code]
- 2 回答
- 0 關注
- 1865 瀏覽
添加回答
舉報