Docker容器说"cannot mount volume over existing file, file exists"即使没有明确挂载这样的卷



我使用一个图像运行了一个容器,并在容器内编辑了一个名为loowsd .xml的文件。然后我在运行的容器上运行docker commit,然后停止容器。然后,当我尝试使用提交的映像运行新容器时,我得到错误:

错误:for collabora_20121-08-03不能为服务nginx创建容器:不能在现有文件上挂载卷,文件存在/var/lib/docker/overlay2/2969d8db91d122d7d95c4439c26814d4c9e2a5542edc7cb7254013201dd7cc7b/合并/etc/loolwsd/loolwsd.xml

我很困惑。在我一直尝试运行新映像之后,文件夹2969...一直在变化。我已经尝试过docker volume prune,但错误仍然存在…

我的docker文件

version: '3'
services:
nginx:
image: collabora/code:2021-08-03
container_name: collabora_2021-08-03
ports:
- "9980:9980"
environment:
- domain= ...
restart: always 
networks:
default:
external: true
name: nginx-network   

完全错误:

$ docker-compose up
Creating collabora_2021-08-03 ... error
ERROR: for collabora_2021-08-03  Cannot create container for service nginx: invalid volume specification: '/home/ian/docker-servers/collabora:etc/loolwsd/loolwsd.xml:rw': invalid mount config for type "bind": invalid mount path: 'etc/loolwsd/loolwsd.xml' mount path must be absolute
ERROR: for nginx  Cannot create container for service nginx: invalid volume specification: '/home/ian/docker-servers/collabora:etc/loolwsd/loolwsd.xml:rw': invalid mount config for type "bind": invalid mount path: 'etc/loolwsd/loolwsd.xml' mount path must be absolute
ERROR: Encountered errors while bringing up the project.
请问,有人知道如何解决这个问题吗?

谢谢。

我认为你是在你的docker镜像中创建一个卷,并设置绑定路径为etc/loolwsd/loolwsd.xml

如果是,docker尝试找到etc/…

不存在,找不到

你应该使用/etc/…而不是etc/…

相关内容

最新更新