Docker 容器未写入卷

Docker container not writing to volume

我想使用 Docker 和 Docker-Compose 设置 ownCloud。为了实现这一点,我有一个 docker-compose.yml,其中包含 3 个容器及其体积。

version: '2'

  services:
    nginx:
      build: ./nginx
      networks:
        - frontend
        - backend
      volumes:
        - owncloud:/var/www/html
    owncloud:
      build: ./owncloud
      networks:
        - backend
      volumes:
        - owncloud:/var/www/html
        - data:/data
    mysql:
      build: ./mariadb
      volumes:
        - mysql:/var/lib/mysql
      networks:
        - backend

  volumes:
    owncloud:
      driver: local
    data:
      driver: local
    mysql:
      driver: local

  networks:
    frontend:
      driver: bridge
    backend:
      driver: bridge

没有数据量我也试过了。 ownCloud 无法写入 /data 或没有此卷到 /var/www/html/data。每当我访问 ownCloud 时,日志只显示时间戳。从 data:/data 更改为托管卷 /var/ownclouddata:/data 结果没有区别。

Docker个文件各只有一行:FROM:image

我试过添加 运行 mkdir /data,但没有解决任何问题。

您需要像这样在 Dockerfile 中挂载卷。

VOLUME /data

稍后在 docker-compose 文件中,您可以像之前那样使用命名卷,也可以像这样简单地使用它。

/mnt/test:/data

此处 /mnt/test 是您的主机卷路径,/data 是您的 docker 容器路径。

希望对您有所帮助!