简体   繁体   English

无法连接到Docker容器

[英]Unable to connect to docker container

I setup two swarm manager nodes(mgr1, mgr2). 我设置了两个群集管理器节点(mgr1,mgr2)。 But when I try to connect to the container it throws an error message . 但是,当我尝试连接到容器时,它将引发错误消息。

[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" rpc错误:代码= 2 desc =“ oci运行时错误:exec失败:exec:\\” / bin / bash \\“:stat / bin / bash:没有这样的文件或目录”

It's happening in both the servers(mgr1, mgr2). 发生在两个服务器(mgr1,mgr2)中。 I'm also running consul container on each node and able to connect to the consul containers. 我还在每个节点上运行领事容器,并能够连接到领事容器。

/bin/bash might not be available there in the container. /bin/bash可能在容器中不可用。 You may use sh as shown below 您可以如下所示使用sh

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

UPDATE: Based on the comments 更新:基于评论
busybox is very light weight linux based image and some of the above works perfectly fine: 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 $ 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM