weseek/growi-docker-compose

Bug: The app container with GROWI v4.4.7 continues to restart

kznghttr opened this issue · 2 comments

以下の環境で、GRWOIのアップデート(4.4.6→4.4.7)を行い起動したところ
growi_appが再起動し続けて、GROWIにアクセスできない状態になりました。
対応方法ありましたら、ご教示いただけますでしょうか?

$ docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:53:39 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:00 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

$  docker-compose version
docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.7
$ cat /etc/os-release
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
$ docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED         STATUS                         PORTS                NAMES
44129f496240   growi-docker-compose_app             "dockerize -wait tcp…"   8 minutes ago   Restarting (0) 3 seconds ago                        growi-docker-compose_app_1
c257dc26178e   growi-docker-compose_elasticsearch   "/usr/local/bin/dock…"   8 minutes ago   Up 8 minutes                   9200/tcp, 9300/tcp   growi-docker-compose_elasticsearch_1
6caf5dfa2ade   mongo:4.4                            "docker-entrypoint.s…"   10 hours ago    Up 8 minutes                   27017/tcp            growi-docker-compose_mongo_1

@kznghttr ご報告ありがとうございます。ご迷惑をおかけしてすみません。

v4.7.7 で docker-entrypoint.sh の仕様を変更したことが原因でした。

診断

GROWI v4.4.7 以降の app コンテナを inspect した際、以下のようになっていると正常に起動しません。

    "Args": [
        "-wait",
        "tcp://mongo:27017",
        "-wait",
        "tcp://elasticsearch:9200",
        "-timeout",
        "60s",
        "/docker-entrypoint.sh",
        "node",
        "-r",
        "dotenv-flow/config",
        "--expose_gc",
        "dist/server/app.js"
    ],

対応策

#47 で修正を行いましたので、更新された docker-compose.yml を利用してください。本体バージョンは v4.4.7 以降を利用する必要があります。

対応後の inspect の状態

以下のような Args になっていればOKです。

    "Args": [
        "-wait",
        "tcp://mongo:27017",
        "-wait",
        "tcp://elasticsearch:9200",
        "-timeout",
        "60s",
        "/docker-entrypoint.sh",
        "yarn migrate && node -r dotenv-flow/config --expose_gc dist/server/app.js"
    ],

引き続き v4.4.7 未満のバージョンを利用したい場合

v4.2 系以下向けには docker-compose.v42x.yml
v4.3 系と v4.4.0 ~ v4.4.6 向けには docker-compose.v43x-v446.yml
を利用してください。

(今後はもうしばらく変更はされないはずです…たぶん)

@yuki-takei 早速ご対応くださりありがとうございました。
手元の環境でv4.4.7正常動作確認できました。