【问题标题】:Nexcloud installation on raspberry-pi failing with docker composeNextcloud 在 raspberry-pi 上的安装因 docker compose 失败
【发布时间】:2023-02-10 16:07:39
【问题描述】:

尝试在 rpi4 上安装 nextcloud。

尝试在运行 buster 的 rpi4 上安装 nextcloud 时出现以下错误

Initializing nextcloud 23.0.4.1 ...,
touch: setting times of '/var/www/html/nextcloud-init-sync.lock': Operation not permitted,
Initializing nextcloud 23.0.4.1 ...,
Another process is initializing Nextcloud. Waiting 10 seconds...,

我的 docker-compose 看起来像这样

version: '2'
services:
  db:
    image: yobasystems/alpine-mariadb:latest
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - /nextcloud:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=YOURROOTPASSWORD
      - MYSQL_PASSWORD=YOURPASSWORD
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    image: nextcloud
    ports:
      - 8181:80
    links:
      - db
    volumes:
      - /nextcloud:/var/www/html
    restart: always

请帮忙!

【问题讨论】:

    标签: docker docker-compose raspberry-pi nextcloud


    【解决方案1】:

    删除 /var/www/html/nextcloud-init-sync.lock 以解锁安装过程

    【讨论】:

      【解决方案2】:

      我有同样的问题,我可以通过将 /var/www/html 挂载到单独的 nextcloud 卷来修复它。在与服务相同的级别上添加:

      volumes:
        nextcloud:
      

      在您的应用程序音量中,像这样设置音量:

      - nextcloud:/var/www/html
      

      【讨论】:

        【解决方案3】:

        最近我在 Raspberry Pi 4 上的 nextcloud 25.0.3.2 遇到了同样的问题并做了一些研究。

        这会导致问题:

        不幸的是,Raspbian 使用了一些非常古老的 包。我们无法修复我们的形象。 ?

        来源:https://github.com/nextcloud/docker/issues/1589#issuecomment-923371168

        有一个解决方法,通过为 nextcloud 容器提供扩展权限:

        我又查了一遍,把锁文件删了很多次。 一段时间后我发现如果我运行 nextcloud 容器 特权,错误触摸:设置次数 '/var/www/html/nextcloud-init-sync.lock': 不允许操作 不会再发生,我可以升级到 23.0.4。

        来源:https://github.com/nextcloud/docker/issues/1742#issuecomment-1133837814

        但要注意:

        --privileged 标志为容器提供所有功能。什么时候 操作员执行 docker run --privileged,Docker 将启用 访问主机上的所有设备以及设置一些配置 AppArmor 或 SELinux 允许容器几乎所有相同的访问 作为在主机上的容器外部运行的进程到主机。 有关使用 --privileged 运行的更多信息,请访问 Docker 博客。

        来源:https://docs.docker.com/engine/reference/run/


        tl;dr:将扩展权限授予 nextcloud 容器

        ...
              app:
                image: nextcloud
                privileged: true
        

        【讨论】:

          最近更新 更多