Docker安装Gitlab
Git是程序员最常用的代码管理工具。
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
安装命令
# 官方提供的命令,可供参考
sudo docker run --detach \
--hostname gitlab.example.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
# 指定访问IP地址(亲测可用)
sudo docker run --detach \
--hostname gitlab.mylitboy.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.mylitboy.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish 192.168.32.205:443:443 \
--publish 192.168.32.205:80:80 \
--publish 192.168.32.205:8022:22 \
--name mygitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
# 不指定IP地址访问,推荐(未测)
sudo docker run --detach \
--hostname gitlab.mylitboy.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.mylitboy.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish 0.0.0.0:443:443 \
--publish 0.0.0.0:80:80 \
--publish 0.0.0.0:8022:22 \
--name mygitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
待Gitlab启动完成后,打开http://localhost
即可访问,第一步配置password
,后续登录,用户名为root
(可登录后修改)。
Gitlab配置LDAP
编辑config
目录下面的gitlab.rb
,修改下面对应部分内容,然后重新运行docker容器。
gitlab_rails['ldap_enabled'] = true
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: '192.168.32.203' # Ldap Address
port: 389
uid: 'uid' # Ldap user id
bind_dn: 'cn=admin,dc=marssenger,dc=com' # Admin Login dn
password: 'hxrhxr123' # Admin Login password
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
verify_certificates: true # if use custom cert , choose false
smartcard_auth: false
active_directory: true
allow_username_or_email_login: false # if use username and email login
lowercase_usernames: false
block_auto_created_users: false
base: 'ou=users,dc=marssenger,dc=com' # user model ou
user_filter: '(objectClass=person)' # user filter class
## EE only
group_base: ''
admin_group: ''
sync_ssh_keys: false
EOS
重新运行docker
docker restart mygitlab
常见问题
Gitlab启动时提示502
目前遇到过两种情况,导致启动Gitlab时出现502错误:
1. 程序启动未完成。
刚开始时,Gitlab尚未完全启动时,访问会出现502。
2. 系统资源不够。
当系统资源不够(如内存、硬盘等)时,也会出现502。
可以使用docker命令查看错误日志。