使用 docker compose 安装 nextcloud 时出错

Error installing nextcloud with docker compose

我想使用来自 docker hub 的官方镜像安装 nextcloud。

https://hub.docker.com/_/nextcloud/

我尝试在 'Running this image with docker-compose' 上安装 apache 并将那段代码复制到 yaml。

version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=test1234
      - MYSQL_PASSWORD=test1234
      - MYSQL_DATABASE=test
      - MYSQL_USER=test

  app:
    image: nextcloud
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always

运行 使用 docker-compose up -d 命令的文件会导致错误。

ERROR: create _nextcloud: "_nextcloud" includes invalid characters for a local volume name, only a-za-z0-9 a-za-z0-9_.- are allowed

我认为这是一个问题,因为我放入卷中的部分是空白的,当我删除该部分并 运行 它时出现此错误。

ERROR: Named volume "db:/var/lib/mysql:rw" is used in service "db" but no declaration was found in the volumes section

其他帖子说要指定绝对路径,我好像没有。

我就是这样 运行 ??

我想你的 compose 所在文件夹的名称是 _nextcloud。文件夹的名称被添加到由 compose 创建的所有全局资源(如卷或网络)之前。因此 docker 想要创建卷 _nextcloud_nextcloud 无法创建以消息指示的下划线字符开头的卷。更改文件夹名称,你会没事的。