安装gitlab
在/home/hjl/gitlab-ce,端口443:443,80:80,22:22
1.拉取镜像
docker pull twang2218/gitlab-ce-zh
2.运行容器
下面命令把gitlab的配置文件及日志文件挂载到主机即非docker容器内,外面也能看到。方便docker问题时可以直接创建新的,数据还在
docker run -itd --privileged=true --hostname sd.code.com -p 8443:443 -p 80:80 -p 822:22 --name gitlab --restart=unless-stopped -v /home/hjl/gitlab-ce/config:/etc/gitlab -v /home/hjl/gitlab-ce/logs:/var/log/gitlab -v /home/hjl/gitlab-ce/data:/var/opt/gitlab --network gitlab-net twang2218/gitlab-ce-zh:11.1.4
3.使用命令行修改用户密码
docker exec -it gitlab /bin/bash
gitlab-rails console production
irb(main):010:0> user=User.where(username:"你的用户名").first
=> #<User id:3 @你的用户名>
irb(main):011:0> user.password="你的密码"
=> "你的密码"
irb(main):012:0> user.save!
4.配置邮件通知
进入容器 修改/etc/gitlab/gitlab.rb
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '你的邮箱'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
gitlab_rails['gitlab_email_reply_to'] = '你的密码'
### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**
# 配置阿里企业云邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "你的邮箱"
gitlab_rails['smtp_password'] = "你的密码"
gitlab_rails['smtp_domain'] = "smtp.mxhichina.com"
gitlab_rails['smtp_authentication'] = "plain"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_ssl'] = true
gitlab-ctl reconfigure
gitlab-ctl restart
#进入控制台
gitlab-rails console
#测试邮件服务是否正常
Notify.test_email("XXX@XXX.XX","title","gitlab").deliver_now
4.访问出现forbidden
#找到ip_whitelist
'ip_whitelist' => ["127.0.0.1","192.168.2.145","192.168.2.*"],
5.修改映射的地址
vi data/gitlab-rails/etc/gitlab.yml
找到关键字 * ## Web server settings *
# 将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.2.100
port: 88
https: false
修改外部访问的url
# 配置http协议所使用的访问地址,不可加端口号默认为80
external_url 'http://192.168.2.100'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出