如何ssh docker容器

Cia*_*arz 25 ssh docker

我正在运行容器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"
Run Code Online (Sandbox Code Playgroud)

我马上做的吗?

Est*_*ado 68

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

docker exec -ti cc55da85b915 /bin/sh
Run Code Online (Sandbox Code Playgroud)

另一种解决方法是直接执行命令而无需访问任何shell.

docker exec -ti cc55da85b915 ls /etc
Run Code Online (Sandbox Code Playgroud)

  • @FernandoFradegrada"-t"用于"tty",基本上它告诉docker分配一个终端会话来执行命令."-i"用于交互式,docker将继续监听标准输入(键盘),让用户引入更多命令.以下是官方文档的链接:https://docs.docker.com/engine/reference/commandline/exec/#description (3认同)

Ala*_*ine 7

您正在使用的映像似乎没有安装二进制/ bin / bash,但应该具有/ bin / sh

尝试:

docker exec -it cc55da85b915 sh
Run Code Online (Sandbox Code Playgroud)