繁体   English   中英

如果设置了external_url,则Gitlab docker无法正常工作

[英]Gitlab docker not working if external_url is set

我一直在努力解决一个我仍然无法解决的问题。 非常感谢帮助! 我做了什么:1)在http://docs.gitlab.com/omnibus/docker/上的服务器上的Ubuntu 16.04.1 LTS虚拟机上使用docker镜像(8.9.6-ce.0)安装Gitlab-CE README.html 2)在本地设置用户并为同一局域网中的机器推送一些项目>>所有工作正常3)向我的防火墙添加新映射以映射gitlab-machine-ip:80> example.org:8138 so我可以用http访问gitlab

我现在可以访问http://example.org:8138上的Web界面并使用它现在问题:克隆项目的URL显示不正确,因为它们错过了:8138端口(它们得到example.org部分)从--host设置传递到docker容器)。 如果我手动将自定义端口添加到URL,克隆工作正常

我想解决这个问题,所以尝试将gitlab.rb中的external_url设置设置为:external_url'http: //example.org :8138'并重新启动(也尝试手动调用gitlab-ctl configure)

状态是我无法访问网页界面http://example.org:8138在浏览器中获取ERR_CONNECTION_REFUSED如果我只是注释掉external_url设置,一切都恢复正常工作(除了URL中缺少的端口)

我已经阅读了一堆问题报告,但没有一个帮助解决问题: https ://gitlab.com/gitlab-org/omnibus-gitlab/issues/244 >>(我不使用外部NGINX)在我读到这篇文章后,我也尝试更新到8.11: https//gitlab.com/gitlab-org/gitlab-ce/issues/20131但它没有帮助

真的不知道这里发生了什么。 输出gitlab-rake gitlab:env:info和gitlab-rake gitlab:检查如下

System information
System: 
Current User:   git
Using RVM:  no
Ruby Version:   2.3.1p112
Gem Version:    2.6.6
Bundler Version:2.3.0
Rake Version:   10.5.0
Sidekiq Version:4.1.4

GitLab information
Version:    8.11.3
Revision:   6cd4edb
Directory:  /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: postgresql
URL:    http://example.org:8138
HTTP Clone URL: http://example.org:8138/some-group/some-project.git
SSH Clone URL:  git@example.org:some-group/some-project.git
Using LDAP: no
Using Omniauth: no

GitLab Shell
Version:    3.4.0
Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories
Hooks:  /opt/gitlab/embedded/service/gitlab-shell/hooks/
Git:    /opt/gitlab/embedded/bin/git

Checking GitLab Shell ...

GitLab Shell version >= 3.4.0 ? ... OK (3.4.0)
Repo base directory exists?
default... yes
Repo storage directories are symlinks?
default... no
Repo paths owned by git:git?
default... yes
Repo paths access is drwxrws---?
default... yes
hooks directories in repos are links: ... 
telemed / banca ... ok
telemed / calcolatrice ... ok
telemed / chat ... ok
telemed / collections ... ok
telemed / interfacce ... ok
telemed / partite ... ok
telemed / polimorfismo ... ok
telemed / ristoranti ... ok
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK
Send ping to redis server: OK
gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking Reply by email ...

Reply by email is disabled in config/gitlab.yml

Checking Reply by email ... Finished

Checking LDAP ...

LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab ...

Git configured with autocrlf=input? ... yes
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory setup correctly? ... yes
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
projects have namespace: ... 
telemed / banca ... yes
telemed / calcolatrice ... yes
telemed / chat ... yes
telemed / collections ... yes
telemed / interfacce ... yes
telemed / partite ... yes
telemed / polimorfismo ... yes
telemed / ristoranti ... yes
Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.3.1)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 2.7.3 ? ... yes (2.7.4)
Active users: 4

Checking GitLab ... Finished

好的,我能够自己解决问题。 在你更改gitlab.rb中的external_url参数时,有一个副作用(如果你问我的话,在文档中没有很清楚地解释!)nginx现在将运行在你放在http://example.org上的端口: 8138

由于我通过防火墙将外部URL上的端口80映射,因此无法再访问gitlab网站。 我建议在文档中明确指出,更改external_url(如果包含端口号)将导致nginx和网站在不同于标准80的端口上运行http!

希望这有助于其他人遇到类似我的问题:slight_smile:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM