Docker容器未写入卷

时间:2017-02-03 00:10:40

标签: docker docker-compose docker-volume

我想用Docker和Docker-Compose设置ownCloud。为了达到这个目的,我有一个包含3个容器及其卷的docker-compose.yml。

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更改为托管卷/ var / ownclouddata:/ data没有任何区别。

Dockerfiles每个只有一行:FROM:image

我曾尝试添加RUN mkdir / data,但它没有修复任何内容。

1 个答案:

答案 0 :(得分:1)

您需要在Dockerfile中安装这样的卷。

VOLUME /data

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

/mnt/test:/data

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

希望它有所帮助!