2016-10-28 165 views
3

我設置了兩個swarm manager節點(mgr1,mgr2)。但是,當我嘗試連接到容器時,它會引發錯誤消息。無法連接到碼頭集裝箱

[[email protected] ec2-user]# docker run --restart=unless-stopped -h mgr1 --name mgr1 -d -p 3375:2375 swarm manage --replication --advertise 10.3.2.24:3375 consul://10.3.2.24:8500/     

[[email protected] ec2-user]# docker exec -it mgr1 /bin/bash 

rpc error: code = 2 desc = "oci runtime error: exec failed: exec: \"/bin/bash\": stat /bin/bash: no such file or directory"

它發生在兩個服務器(MGR1,MGR2)。我還在每個節點上運行consul容器並能夠連接到領事容器。

+0

有點偏離主題,但你不能使用Docker 1.12.3?因爲有了這個版本,你可以使用更容易設置的羣模式 –

回答

2

/bin/bash可能無法在容器中使用。您可以使用sh如下圖所示

docker exec -it mgr1 sh
docker exec -it mgr1 /bin/sh
docker exec -it mgr1 bash
docker attach mgr1

更新:根據意見
busybox是基於重量很輕的Linux映像和一些上面的作品完美無缺:

bash $ sudo docker exec -it test1 bash 
rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"bash\\\": executable file not found in $PATH\"\n" 
bash $ sudo docker exec -it test1 sh 
/# exit 
bash $ sudo docker exec -it test1 /bin/sh 
/# exit 
bash $ sudo docker attach test1 
/# exit 
bash $ 
+0

我試過了,但同樣的錯誤。 – code4geeks

+0

你的意思是上述兩個命令都沒有幫助?你的情況是什麼樣的基本形象?命令「docker ps」的輸出是什麼? – Rao

+0

基本映像是Amazon Linux。以下是詳細信息:https://s3.amazonaws.com/va-awsconfig/343434343.PNG – code4geeks