我试图在本地创建一个定制的Nextcloud,然后能够使用在这里定义的卷将它挂载到适当的文件夹中:https://github.com/nextcloud/docker#persistent-data。除了配置挂载外,所有卷挂载都可以工作.为什么在这里被区别对待?
复制步骤
0)输入一个新的/空目录(不包含子目录或附加文件)。
1)创建一个仅包含以下内容的docker-compose.yml文件:
version: "3.4"
services:
nextcloud:
image: nextcloud:latest
volumes:
- "./nextcloud/custom_apps:/var/www/html/custom_apps"
- "./nextcloud/config:/var/www/html/config"
- "/data/nextcloud:/var/www/html/data"
- "./themes:/var/www/html/themes"2)码头-合成-d
预期行为
工作。我应该能够在./nextcloud/config本地看到/var/www/html/config内容,然后插入一个customer config.php,然后在容器中进行更新。
实际行为
打开容器(特定于配置目录)时出错。如果我删除上面的./nextcloud/config:/var/www/html/config卷挂载,那么容器就会启动,而不会出错。
错误信息
错误:对于nextcloud无法启动服务nextcloud: OCI运行时创建失败: container_linux.go:349:启动容器进程引起的"process_linux.go:449:容器init引起的\"rootfs_linux.go:58:将\"/var/lib/docker/overlay2/41b567141e23b16cf5e4f99f4c33703fc9a533aa5a4bef68fbba70a74842ca88/merged\“挂载到\"/var/lib/docker/overlay2/41b567141e23b16cf5e4f99f4c33703fc9a533aa5a4bef68fbba70a74842ca88/merged/var/www/html/config\”处的rootfs \“不是目录\”:未知:您是否试图将目录挂载到文件上(反之亦然)?检查指定的主机路径是否存在并且是预期的类型错误:在打开项目时遇到错误。
服务器配置
操作系统:
操作系统: Debian GNU/Linux 10 (buster)内核: Linux 4.19.0-8-云-amd64 64体系结构: x86-64
图像
nextcloud:最新版本(apache)
发布于 2020-04-14 08:46:22
我不能用你的步骤复制(Ubuntu18.04)。
从这里,运行docker-compose up -d,然后运行docker-compose logs,我没有看到任何错误。然后,当在容器上运行docker inspect时,我看到以下内容:
...
"Volumes": {
"/var/www/html": {},
"/var/www/html/config": {},
"/var/www/html/custom_apps": {},
"/var/www/html/data": {},
"/var/www/html/themes": {}
},
...这表明这种坐骑没有问题。
我建议你做的是:
./nextcloud/config存在且不是文件的目录docker run -it -v ./nextcloud/config:/var/www/html/config <containername> /bin/bash运行Docker容器,以探索挂载是否手动工作https://stackoverflow.com/questions/61159869
复制相似问题