我在跟踪
this
(docker-compose.yaml、secure.conf和gerrit.conf请参阅此文档)用于在docker容器中设置gerrit。它在我的本地Debian9上运行良好,在Fedora27和Ubuntu16.04上也进行了测试。不过,在远程运行的Debian9虚拟服务器上绝对不走运。
我有一个奇怪的失败:
docker-dir$ docker-compose up -d
Starting 16_postgres_1_2670c354fe3d ... done
Starting 16_ldap_1_f7f810963c69 ... done
Using secure store:
com.google.gerrit.server.securestore.DefaultSecureStore
fatal: InitInjector failed
fatal: Unable to create injector, see the following errors:
fatal: 1) Error injecting constructor, java.lang.RuntimeException:
Cannot load secure.config
... (huge java stacktrace) ...
fatal: Cannot load secure.config
fatal: caused by
fatal: /var/gerrit/etc/secure.config (Permission denied)
secure.config权限是0600,1000:1000,但这不应该是一个问题,因为容器以根用户身份运行,实际上在本地工作。
此崩溃发生在入口点(来自链接docker compose.yaml):
entrypoint: java -jar /var/gerrit/bin/gerrit.war init -d /var/gerrit
我不是Docker专家,你知道有没有什么好方法可以调试吗?当我在别处工作的时候,我能核对一下吗?我想知道这是否与Docker访问外部卷(即/external/gerrit)的方式有关。
谢谢