如何sshdocker集装箱

我正在运行容器hypriot / rpi-busybox-httpd

我想ssh到docker集装箱:但它给错误:

pi@raspberrypi:~ $ docker exec -it cc55da85b915 bash rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"bash\": executable file not found in $PATH" pi@raspberrypi:~ $ docker exec -it cc55da85b915 sh rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"sh\": executable file not found in $PATH" 

我马上做了吗?

这可能是你的图像没有安装二进制/ bin / bash(如前所述),我有同样的问题,我可以进入容器使用/ bin / sh

 docker exec -ti cc55da85b915 /bin/sh 

另一个解决方法是直接执行这些命令,而无需访问任何shell。

 docker exec -ti cc55da85b915 ls /etc 

您可能需要指定bash完整path, 例如

 docker exec -it cc55da85b915 /bin/bash 

/usr/local/bin/bash ,或bash位于该映像中的位置。

希望这可以帮助!

你有很多不同的forms来做到这一点,你可以使用docker的attach命令来附加。

 $ sudo docker attach cc55da85b915 #by ID 

或者你可以使用docker exec命令:

 $ sudo docker exec -i -t cc55da85b915 /bin/bash 

如果/bin/bash失败,则可以使用在更多容器中工作的/bin/sh

 $ sudo docker exec -i -t cc55da85b915 /bin/sh