Docker安装Gitlab

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命令查看错误日志。

你可能感兴趣的:(Docker)