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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值