Nextcloud Docker 状态保持“正在重新启动 (255)”

Nextcloud Docker 状态保持“正在重新启动 (255)”

几年来,我一直在家用 Raspi 4 在 docker-compose 中运行 Nextcloud 实例,大约每两个月更新一次图像。在今天的 NC 更新从 2​​5.0.3 到 25.0.4 期间,我的 pi 停止工作,我不得不重新启动它(通过拔掉插头)。但现在我的 Nextcloud 容器不再工作了。Docker 状态始终处于“正在重新启动 (255)”状态,即使我尝试启动附加的容器,控制台上也不再有输出,只有“nextcloud 以代码 255 退出”和“docker 日志 nextcloud“命令没有输出。

> docker-compose up nextcloud
    mariadb is up-to-date
    Starting nextcloud ... done
    Attaching to nextcloud
    nextcloud exited with code 255

我尝试删除图像,甚至尝试了旧版本,但它一直以代码 255 退出。有什么办法可以解决这个问题吗?

这是我为 Nextcloud 编写的 docker-compose 文件:

services:
  nextcloud:
    container_name: nextcloud
    image: nextcloud:latest
    restart: unless-stopped
    depends_on:
      - mariadb
    environment:
      - MYSQL_HOST=mariadb:3306
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=***
    volumes:
    - /media/myCloudDrive/nextcloud:/var/www/html
    - /media/myCloudDrive/configs/apache2.conf:/etc/apache2/apache2.conf
    - /var/run/redis/redis.sock:/var/run/redis/redis.sock

答案1

您需要调试错误。docker 容器退出状态“255”仅表示其主 entrpypoint/命令进程以该状态停止。255 代码仅表示“出现错误”,但除此之外没有告诉您太多信息。

有关调试的建议,请参阅文章 调试爆炸的 Docker 容器的 6 种方法,其中描述了以下命令:

docker logs <container_id>
docker stats <container_id>
docker cp <container_id>:/path/to/useful/file /local-path
docker exec -it <container_id> /bin/bash
docker commit <container_id> my-broken-container &&
   docker run -it my-broken-container /bin/bash

另请参阅 Docker 的 HTTP 工具包,一个帮助 Docker 调试的开源工具。

答案2

我终于找到了原因。在更新过程中,文件夹“core”和“lib”中的本地 php 文件以及文件“version.php”被清除。所有文件大小均为 0kb。我通过在我的 PI 上启动一个新的 Nextcloud 实例并将所有受影响的文件移动到我的主要安装中来解决这个问题。运行occ upgradeocc maintenance:repair完成其余工作。我的 Nextcloud 又恢复了!

相关内容