docker中部署gitlab

介绍:GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。

1. 下载gitlab镜像到本地

docker pull gitlab/gitlab-ce:latest

2. 启动gitlab容器

docker run \
 -itd  \
 -p 8050:80 \
 -p 8051:22 \
 -v /home/gitlab/etc:/etc/gitlab  \
 -v /home/gitlab/log:/var/log/gitlab \
 -v /home/gitlab/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab \
 gitlab/gitlab-ce

参数说明:
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端
-d:后台运行容器,并返回容器ID,也即启动守护式容器
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
--name gitlab 设置容器名称为gitlab

3. 修改gitlab配置

3.1 修改ssh配置

在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id,因此需要配置ssh的host和port,
配置需要进入容器内部修改,而不是在宿主机器上修改

进入容器内部docker exec -it gitlab /bin/bash
修改gitlab.rb :vi /etc/gitlab/gitlab.rb

#加入如下
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.7.7' 
#ssh主机ip,内网IP
gitlab_rails['gitlab_ssh_host'] = '192.168.7.7'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 8051

external_url是 暴露出去的http://ip:port,ip一定要和gitlab.yml文件配置的相同。

3.2 配置gitlab.yml

修改http和ssh配置vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

gitlab:
  host: 192.168.7.7
  port: 80
  https: false

重启容器并退出

gitlab-ctl restart
exit

4 访问gitlab web服务

4.1 验证web服务

启动服务需要一点时间。等启动完后打开浏览器 输入http://192.168.7.7:8050/

服务启动成功页面

4.2 修改超管(root)密码

# 进入容器内部
docker exec -it gitlab /bin/bash
# 进入gitlab控制台(可能需要等十多秒)
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为qamypd234
user.password='qamypd234'
# 保存
user.save!
# 退出
exit

4.3 将gitlab设置为中文版

你可能感兴趣的:(docker中部署gitlab)