如何使用ssh进入到docker容器中

发布时间 2024-01-02 18:49:28作者: 未来的羁绊

官网教程

docker exec -it 5597561f8ec3 bash

docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。

只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。

-i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

如果执行上述命令发生如下报错,可以尝试使用以下命令。

报错:

ubuntu@VM-16-6-ubuntu:~$ sudo docker exec -it 5597561f8ec3 /bin/bash
OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown

原因:

可能是您的映像没有安装二进制 `/bin/bash`

解决方案

方案一:

没有安装二进制 /bin/bash 但它应该有 /bin/sh

docker exec -ti 5597561f8ec3 /bin/sh

或者

docker exec -it 5597561f8ec3 sh

方案二:

直接执行下面的命令,而无需访问任何 shell

docker exec -ti 5597561f8ec3 ls /etc

docker exec 命令教程请参考:https://yeasy.gitbook.io/docker_practice/container/attach_exec

解决方案参考:stackoverflow.com

退出docker容器使用 exit 命令