docker进入容器报错OCI runtime exec failed: exec failed: unable to start container process: chdir to cwd (“

项目场景及问题描述

Docker在创建镜像写Dockerfile的时候定义了某目录在根目录下,以目录/Xxx为例。由于后面用不到这个目录,在使用容器的时候把该目录删掉了,退出容器后,再次进入该容器进不了,出现报错。
进入容器的指令是:(容器的 CONTAINER ID 前三位是92v)

docker exec -it 92v /bin/bash

报错如下:

OCI runtime exec failed: exec failed: unable to start container process: chdir to cwd ("/Xxx") set in config.json failed: no such file or directory: unknown

原因分析:

通过报错中的 (“/Xxx”) set in config.json 可以看出,出现这种报错大致原因是Docker创建时候定义的文件夹现在没有了。


解决方案:

解决方案非常简单粗暴。可以在容器外定义同名文件夹,用 docker cp 指令将该同名文件夹拷贝入容器内,一开始创建容器时定义的该目录的位置。以一开始容器内定义在根目录下的/Xxx文件夹为例,容器的 CONTAINER ID 前三位是92v,在容器外新建了同名空目录/Xxx,其绝对路径是/home/Sss/Yyy/Xxx/。用一下指令将该空目录拷贝入容器内:

docker cp /home/Sss/Yyy/Xxx/ 92v:/Xxx/

之后再进入容器:

docker exec -it 92v /bin/bash

报错就解决了。成功进入容器,可以正常使用啦~

猜你喜欢

转载自blog.csdn.net/qq_39691492/article/details/130846961