1、安装docker
docker安装见我之前的文章:
http://t.csdn.cn/H4wAm
2、拉取gitlab镜像
#gitlab-ce社区版最新版
docker pull gitlab/gitlab-ce:latest
#gitlab-jh极狐版最新版
docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest
#两个版本任意拉取,我这里拉取的是社区版
镜像拉取完成后,可查看拉取到的镜像:
docker images
3、创建映射目录
宿主机(本机)任意目录创建config、logs、data三个映射目录
4、部署
sudo docker run -d \
-p 8096:80 -p 1443:443 -p 8097:22 \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
--name gitlab \
gitlab/gitlab-ce:latest
如果报:
重启下网络及docker即可:
systemctl restart network && systemctl restart docker
5、启动访问容器
docker start gitlab
如果使用IP+端口(8096)无法访问,需放行下防火墙
firewall-cmd --zone=public --add-port=8096/tcp --permanent
firewall-cmd --reload
IP+端口访问后,出现502,如下图,不要惊慌:
是gitlab依赖的服务没有启动完成,需要等待一会。然后重新刷新后,即可访问:
默认用户名是 root。密码使用如下命令查询:
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
*如果出现初始密码无法登录,可以重置密码:
进入gitlab容器,执行:
gitlab-rake "gitlab:password:reset[root]"
执行上面命令后等待一会,进行2次密码确认输入,修改成功后,重启容器即可登录
6、优化
1)设置中文
2)仓库克隆/下载地址设置
这时候发现,仓库克隆地址显示的是这个容器的ID,并不是可以访问的IP。
我的对外端口8096,容器内部端口80.
修改配置文件/etc/gitlab/gitlab.rb:
因为我们已将将容器的内容映射到宿主机
/home/gitlab/config:/etc/gitlab 容器的/etc/gitlab目录对应宿主机的/home/gitlab/config目录。
所以我只需要在宿主机更改即可:
vim /home/gitlab/config/gitlab.rb
#修改如下
#gitlab访问地址,可以写域名。 IP+端口
external_url 'http://192.168.127.128:8096'
#如果上边的端口不是80,那下边这行必须添加,如果不加,gitlab访问不了。因为默认会用这个端口号作为gitlab的nginx的监听端口。因为我们这里其实是监听的80端口,所以要额外配置
nginx['listen_port'] = 80
#ssh主机ip,内网IP
gitlab_rails['gitlab_ssh_host'] = '192.168.127.128'
#ssh连接端口(容器22端口对应的端口)
gitlab_rails['gitlab_shell_ssh_port'] = 8097
重启docker即可:
docker restart gitlab
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)