问题描述
执行命令时,会发生此错误
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/sh
,sleep 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
。