1、下载gitlab镜像
docker pull gitlab/gitlab-ce
2、启动
docker run -d -p 443:443 -p 800:80 -p 222:22 --name gitlab --restart always \
-v /usr/local/work/docker/gitlab/config:/etc/gitlab \
-v /usr/local/work/docker/gitlab/logs:/var/log/gitlab \
-v /usr/local/work/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
# 服务器 80端口 已被nginx镜像 映射占用
# 所以改的800端口
# 800、222 端口 需要在服务器安全组放开
出现 下面的情况,代表启动成功,status 要为healthy
[root@xxx config]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
40e132eddcf2 gitlab/gitlab-ce "/assets/wrapper" 47 hours ago Up 2 minutes (healthy) 0.0.0.0:443->443/tcp, 0.0.0.0:222->22/tcp, 0.0.0.0:800->80/tcp gitlab
3、修改配置
在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的id来生成的。我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/usr/local/work/docker/gitlab/config/gitlab.rb)
# ip版
# 配置http协议所使用的访问地址 127.0.0.1 改为自己服务器的地址
external_url 'http://127.0.0.1'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
# 此端口是run时22端口映射的222端口
gitlab_rails['gitlab_shell_ssh_port'] = 222
# 域名版
# external_url 'http://xxx.com'
# 配置ssh协议所使用的访问地址和端口
# gitlab_rails['gitlab_ssh_host'] = 'xxx.com'
# 此端口是run时22端口映射的222端口
# gitlab_rails['gitlab_shell_ssh_port'] = 222
# 注意: external_url 为服务器地址,即使你容器映射的不是宿主机的80端口,这里也不需要跟上端口号
4、重启容器
docker restart 容器id
5、配置后的效果
配置前的效果:git@容器id:root/git_demo.git
配置后的效果如下:容器Id变为了我们配置的域名,端口222 和前面的ssh:// 也补齐了
6、在浏览器上输入gitlab地址: xxx.com:800 ,出现正常运行页面
7、首次进去,需要设置默认账号root的密码,设置完后,就可以创建项目、设置sshkey、下载/提交代码了
设置发送邮件
1、修改/usr/local/work/docker/gitlab/config/gitlab.rb
# 邮箱配置
gitlab_rails['smtp_enable'] = TRUE
gitlab_rails['smtp_address'] = 'smtp.163.com'
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = 'xxx@163.com'
gitlab_rails['smtp_password'] = '邮箱授权密码'
gitlab_rails['smtp_domain'] = '163.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = TRUE
# 修改gitlab配置的发信人(保持一致)
gitlab_rails['gitlab_email_from'] = 'xxx@163.com'
user['git_user_email'] = 'xxx@163.com'
# 3个地方的邮箱地址 要一样 , 不然发送邮件会失败
上面的配置,只需要修改下 ‘邮箱授权密码’和 下面的邮箱地址就可以了
2、重启容器
docker restart 容器Id
注册新用户
方式一:
注册完成,等待管理员审批
登录管理员账号:
点击 approve,同意 就好了
方式二: 手动添加新用户,添加的时候不能设置密码,保存后再编辑 就可以设置密码了
配置邮箱 参考链接:https://www.jianshu.com/p/080a962c35b6