如何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