Docker for WindowsでNextcloudを動かしていると。
Dockerのアップデート時や、PCを再起動したタイミング等で「502 Bad Gateway」でアクセスできなくなる事があります。
そんな時、こんな方法でアクセスできるようにしています。少々強引な方法ですが・・・・
docker-composeのNextcloudで502 Bad Gatewayの時
データにアクセスできなくなる可能性もありますので、念のためnextcloudフォルダをバックアップしてから試してみることをお勧め致します。
- まずはサービスを停止します。
cd \docker\nextcloud docker-compose down
- イメージの一覧を表示します。
docker images
- nextcloud、mysql、nginxのイメージを削除します。docker rmiコマンドで、IMAGE IDを指定するかたちです。
docker rmi <nextcloud関連のIMAGE ID>
- サービスを起動すると、イメージの再ダウンロードが開始されます。
docker-compose up -d
- ここでWebでアクセスすると、いつものアレですよね・・・
- util.php.patchファイルを用意します。
967c967 < if (substr($perms, -1) !== '0') { --- > if (substr($perms, -1) !== '5') { 971c971 < if ($perms[2] !== '0') { --- > if ($perms[2] !== '5') {
- docker psでnextcloud_appのCONTAINER IDを確認します。
docker ps
- docker cpでutil.php.patchファイルを<CONTAINER ID>:/tmpへコピーします。
docker cp util.php.patch <CONTAINER ID>:/tmp
- docker-compose execでbashを起動してパッチを適用します。
docker-compose exec app bash
patch lib/private/legacy/util.php < /tmp/util.php.patch
これでNextcloudへアクセスできるようになりました。ふぅ。