Назад | Перейти на главную страницу

docker-compose не может развернуть контейнер gerrit из-за ошибок разрешения

Я пытаюсь развернуть рабочее пространство gerrit на ubuntu, следуя подробностям, указанным в следующей ссылке.

https://gerrit.googlesource.com/docker-gerrit

Однако это продолжает терпеть неудачу только при попытке инициализировать gerrit. Если я запускаю с помощью sudo, я получаю следующую ошибку

gerrit_postgres_1 is up-to-date
Creating gerrit_ldap_1 ... done
Creating gerrit_gerrit_1 ... done
Attaching to gerrit_gerrit_1
gerrit_1      | fatal: /var/gerrit/etc/mail
gerrit_1      | fatal: Cannot make directory /var/gerrit/etc/mail
gerrit_gerrit_1 exited with code 128

Когда я запускаю его как другой пользователь на компьютере, я получаю следующую ошибку.

gerrit_ldap_1 is up-to-date
gerrit_postgres_1 is up-to-date
Starting gerrit_gerrit_1 ... done
Attaching to gerrit_gerrit_1
gerrit_1      | Exception in thread "main" java.io.IOException: Permission denied
gerrit_1      |     at java.io.UnixFileSystem.createFileExclusively(Native Method)
gerrit_1      |     at java.io.File.createNewFile(File.java:1012)
gerrit_1      |     at org.eclipse.jgit.util.FS_POSIX.createNewFileAtomic(FS_POSIX.java:434)
gerrit_1      |     at org.eclipse.jgit.internal.storage.file.LockFile.lock(LockFile.java:179)
gerrit_1      |     at org.eclipse.jgit.storage.file.FileBasedConfig.save(FileBasedConfig.java:227)
gerrit_1      |     at com.google.gerrit.server.index.GerritIndexStatus.save(GerritIndexStatus.java:48)
gerrit_1      |     at com.google.gerrit.server.index.IndexUtils.setReady(IndexUtils.java:43)
gerrit_1      |     at com.google.gerrit.pgm.init.InitIndex.run(InitIndex.java:71)
gerrit_1      |     at com.google.gerrit.pgm.init.SitePathInitializer.run(SitePathInitializer.java:93)
gerrit_1      |     at com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:138)
gerrit_1      |     at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
gerrit_1      |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
gerrit_1      |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
gerrit_1      |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
gerrit_1      |     at java.lang.reflect.Method.invoke(Method.java:498)
gerrit_1      |     at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:223)
gerrit_1      |     at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:119)
gerrit_1      |     at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:63)
gerrit_1      |     at Main.main(Main.java:24)
gerrit_gerrit_1 exited with code 1

У меня на этом компьютере только один пользователь, кроме root. Я не уверен, что я могу с этим поделать, и искал везде безрезультатно. Все остальные службы инициализируются успешно, но gerrit.

Я также создал папку внешнего хранилища как с корнем, так и без него, и я все еще получаю ошибки.

Есть предположения?