我设置了两个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容器。
答案 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 $