docker exec -it portainer /bin/sh 显示命令不存在
时间: 2023-06-24 13:09:27 浏览: 136
如果在执行该命令时出现了 "command not found" 的错误提示,说明在该 Docker 容器中没有安装 `/bin/sh`。您可以尝试执行 `docker exec -it portainer bash` 命令来进入该容器的 Bash shell。如果还是无法进入,可能是该容器没有正确启动或者被删除了。您可以使用 `docker ps -a` 命令来查看所有的容器信息,确认该容器是否存在并处于运行状态。
相关问题
docker exec -it mytest /bin/bash /usr/run.sh
这个命令与之前的命令类似,只不过多了一个"-it"选项。这个选项表示在执行命令时,会创建一个交互式的终端。也就是说,这个命令会在"mytest"容器中打开一个交互式的bash终端,并执行"/usr/run.sh"脚本文件。所以,当你运行这个命令时,你会进入到"mytest"容器的bash终端中,并执行"/usr/run.sh"脚本文件。
为什么使用docker exec -it 容器名 /bin/bash无法进入容器,而使用docker exec -it 容器名 /bin/sh可以进入容器
在Docker容器中,/bin/bash和/bin/sh都是shell程序,但是它们有所不同。/bin/bash是Bourne-Again shell的缩写,是一个功能更加强大的shell;而/bin/sh是Bourne shell的缩写,是一个更加轻量级的shell。
在一些Docker镜像中,可能没有安装/bin/bash程序,这个时候使用docker exec -it 容器名 /bin/bash命令会出现无法进入容器的情况。此时,可以使用/bin/sh来代替/bin/bash,执行docker exec -it 容器名 /bin/sh命令可以成功进入容器。
需要注意的是,如果你在容器中使用了/bin/bash,而容器中并没有安装bash程序,那么同样也会无法进入容器。因此,在进入容器时,要根据实际情况选择合适的shell程序。