2017-06-02 104 views
0

我在我的Debian主機中創建了幾個碼頭Ubuntu的圖像。無法連接到碼頭集裝箱到容器

1. app01 - sudo docker run --name app01 -P -id ubuntu-control-container-bkup 
2. control - sudo docker run --name control -p 22:22 -id ubuntu-control-container-bkup 

現在,從控制容器im試圖SSH連接到app01容器,但我得到連接拒絕錯誤。

[email protected]:/# ssh 172.17.0.2 
ssh: connect to host 172.17.0.2 port 22: Connection refused 
+0

檢查app01的IP,以確認是否有正確的:'泊塢窗檢查app01'。然後檢查它是否打開了22端口:'docker exec app01 ss -ltn' – Robert

回答

0

默認情況下未安裝或啓用ssh。如果你真的需要它,你需要通過你的Dockerfile來安裝它。

https://docs.docker.com/engine/examples/running_ssh_service/

,但你可能要考慮這些事情:

https://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/

+0

Thanks.Im lil有點混淆,因爲我從傳統的背景中讀取文章後,我們通常使用一個可控的控制器ssh到不同的盒子並安裝多個軟件包..我如何安裝不同的軟件包(噸Linux/python軟件包),如果我不能ssh .. – user1050619

+0

每個不同類型的目標機器將是一個單獨的Dockerfile和圖像構建... PHP的應用程序? Dockerfile和圖像。 rails應用程序? Dockerfile和圖像。 nginx的? Dockerfile和圖像。等等,而不是將配置部署到服務器,您將配置構建到映像中並部署映像 - 所有配置已經完成並處理。沒有更多的配置漂移,沒有更多的特定應用程序的服務器動態配置。只需部署映像並從中運行容器。 –

+0

這並不是說可行的仍然沒有用。很多優秀的文檔和論述在一起使用它們,但是如果你用docker替換了可靠的已部署應用程序,那麼這是你將要採用的一般方法。 –