无法连接到docker容器

时间:2016-10-28 03:08:09

标签: amazon-web-services docker docker-swarm

我设置了两个swarm管理器节点(mgr1,mgr2)。但是当我尝试连接到容器时,它会抛出一条错误消息。

[root@ip-10-3-2-24 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/                

[root@ip-10-3-2-24 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容器,并且能够连接到consul容器。

1 个答案:

答案 0 :(得分:3)

容器中可能没有

/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 $