Can';t运行owncloud docker容器时设置正确的卷值

Can';t运行owncloud docker容器时设置正确的卷值,docker,docker-compose,owncloud,Docker,Docker Compose,Owncloud,我随后在我的VPS上安装了自己的云服务器,它可以正常工作。但是,当我尝试将文件卷装载到主机服务器时,出现了一个问题。下面是我使用的docker compose.yml文件。如果我直接使用yml文件运行docker映像,即使我手动创建了/mnt/data,我也无法在我的VPS的/mnt/data目录下找到任何自己的云数据 version: '2.1' volumes: files: driver: local mysql: driver: local backup:

我随后在我的VPS上安装了自己的云服务器,它可以正常工作。但是,当我尝试将文件卷装载到主机服务器时,出现了一个问题。下面是我使用的
docker compose.yml
文件。如果我直接使用yml文件运行docker映像,即使我手动创建了
/mnt/data
,我也无法在我的VPS的
/mnt/data
目录下找到任何自己的云数据

version: '2.1'

volumes:
  files:
    driver: local
  mysql:
    driver: local
  backup:
    driver: local
  redis:
    driver: local

services:
  owncloud:
    image: owncloud/server:${OWNCLOUD_VERSION}
    restart: always
    ports:
      - ${HTTPS_PORT}:443
      - ${HTTP_PORT}:80
    depends_on:
      - db
      - redis
    environment:
      - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
      - OWNCLOUD_DB_TYPE=mysql
      - OWNCLOUD_DB_NAME=owncloud
      - OWNCLOUD_DB_USERNAME=owncloud
      - OWNCLOUD_DB_PASSWORD=owncloud
      - OWNCLOUD_DB_HOST=db
      - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
      - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - OWNCLOUD_UTF8MB4_ENABLED=true
      - OWNCLOUD_REDIS_ENABLED=true
      - OWNCLOUD_REDIS_HOST=redis
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - files:/mnt/data

  db:
    image: webhippie/mariadb:latest
    restart: always
    environment:
      - MARIADB_ROOT_PASSWORD=owncloud
      - MARIADB_USERNAME=owncloud
      - MARIADB_PASSWORD=owncloud
      - MARIADB_DATABASE=owncloud
      - MARIADB_MAX_ALLOWED_PACKET=128M
      - MARIADB_INNODB_LOG_FILE_SIZE=64M
      - MARIADB_INNODB_LARGE_PREFIX=ON
      - MARIADB_INNODB_FILE_FORMAT=Barracuda
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - mysql:/var/lib/mysql
      - backup:/var/lib/backup

  redis:
    image: webhippie/redis:latest
    restart: always
    environment:
      - REDIS_DATABASES=1
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - redis:/var/lib/redis
所以我尝试将行
文件:/mnt/data
修改为
文件:/mnt/data:/mnt/data
,然后它提示我以下错误

ERROR: for ownclouddockerserver_owncloud_1  Cannot create container for service owncloud: invalid bind mount spec "ownclouddockerserver_files:/mnt/data:/mnt/data": invalid mode: /mnt/data

ERROR: for owncloud  Cannot create container for service owncloud: invalid bind mount spec "ownclouddockerserver_files:/mnt/data:/mnt/data": invalid mode: /mnt/data

有人能帮我找出将外部目录装载到容器的正确方法吗?非常感谢

你试过把完整的路径放进去吗?e、 g./my/external/directory:/mnt/data您是否也在Windows或Linux上运行?如果您运行的是Windows 7 inside virtual box,则可能会出现装载问题。它只喜欢在内存中的某些用户目录中挂载。请先尝试这个答案,@PaulNUK谢谢您的建议。是的,完整路径,从这个路径我想你已经知道我在LInux上运行。有人真的对此有一个公认的答案吗?