使用docker exec -it xxx /bin/bash命令进入容器时报错OCI runtime exec failed,具体如下:
OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown
OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown
这是因为我们在构建镜像的时候使用的基础镜像中没有bash,我这里使用的是openjdk:8-jre-alpine做基础镜像,这个时候只需要使用“docker exec -it dev /bin/sh”或“docker exec -it dev sh”命令即可进入容器,可以看到在“/bin”下面确实没有“bash”、“csh”。
另外,Bash是一种shell,由于早年的Unix开发者众多,因此shell依据开发者的不同产生了很多版本,例如常见的Bourne Shell(sh)、Sun里头默认的C Shell(csh)、商业上常用的Korn Shell(ksh),还有tcsh等等,每一种Shell都各有其特点。Linux使用的“Bourne Again SHell(简称bash)”是sh的增强版本。
历史上的今天:
- 2020: 通过QQ号获取QQ昵称、头像等信息(0)
展开阅读全文