Docker运行/ bin / bash

问题描述

执行命令时,会发生此错误

docker run -it --entrypoint=/bin/bash ld_mmdet:2.4.0 /bin/bash
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory".

然后我检查图像,发现cmd为null

 "ContainerConfig": {
            "Hostname": "","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": null,"Cmd": null,"Image": "","Volumes": null,"WorkingDir": "","Entrypoint": null,"OnBuild": null,"Labels": null
        },

那么,有解决方案吗? 我尝试了如下方法

  • 使用/ bin / sh或/ bash代替/ bin bash,不起作用
  • 使用docker run -it --entrypoint = / bin / bash ld_mmdet:2.4.0 / bin / bash,不起作用

解决方法

首先,一种好的做法是在分离模式下启动docker,然后使用docker exec -it对其进行访问。

第二,您需要指定未完成的入口点或命令。

除非您添加诸如/bin/bash之类的参数,否则所有/bin/shsleep infinity命令都会完成。我建议您执行tail -F /dev/null,然后使用bash或sh访问docker。

docker run -d --name mymmdet ld_mmdet:2.4.0 tail -F /dev/null
docker exec -ti mymmdet bash

您可以在docker run命令之后验证您的docker是否以docker ps -a运行,如果启动,则docker exec