Статус Nextcloud Docker остается «Перезапуск (255)».

Я запускаю экземпляр Nextcloud в docker-compose на своем Raspi 4 дома уже несколько лет и обновляю изображения примерно каждые два месяца. Мой пи перестал работать во время сегодняшнего обновления NC с 25.0.3 до 25.0.4, и мне пришлось перезагрузить его (выдернув вилку). Но теперь мой Nextcloud-контейнер больше не работает. Статус Docker постоянно находится в состоянии «Перезапуск (255)», и даже если я попытаюсь запустить подключенный контейнер, на консоли больше не будет вывода, тогда как команда «nextcloud завершена с кодом 255» и «docker logs nextcloud» не выведет результат .

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

Я пытался удалить изображения и даже попробовал старую версию, но она продолжает завершать работу с кодом 255. Есть идеи, как это исправить?

Это мой файл docker-compose для Nextcloud:

      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

2 ответа

Вам нужно отладить ошибку. Статус выхода контейнера докера «255» означает только то, что его основной процесс входа/команды остановлен с этим статусом. Код 255 просто означает «произошла ошибка», но больше ничего вам не говорит.

Советы по отладке смотрите в статье 6 способов отладки взрывающегося Docker-контейнера , где описаны следующие команды:

      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

См. также HTTP Toolkit для Docker — инструмент с открытым исходным кодом, помогающий при отладке Docker.

Наконец я нашел причину. В ходе обновления были очищены локальные php-файлы в папках «core» и «lib», а также файл «version.php». Все файлы имели размер 0 КБ. Я исправил это, запустив новый экземпляр Nextcloud на своем PI и переместив все затронутые файлы в мою основную установку. Бегocc upgradeиocc maintenance:repairсделал все остальное. Мой Nextcloud снова доступен!

Другие вопросы по тегам