搭建Docker版gitlab私有云
工作中有使用到gitlab私有云服务,今天记录一下完整搭建过程。
1. 拉取gitlab镜像
- 拉取gitlab的最新版本
docker pull gitlab/gitlab-ce
- 会自动下载 latest 版本
2.添加容器挂载目录
创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 容器启动后可以映射到本机,然后后续就可以直接在主机查看和编辑了,不用再进入容器操作,便于日后升级, 因此我们先准备这三个目录。
- 添加配置文件目录
mkdir -p /home/gitlab/etc
- 添加日志文件目录
mkdir -p /home/gitlab/log
- 添加数据文件目录
mkdir -p /home/gitlab/data
3.创建并启动容器
定义对应的目录挂载及端口设置
docker run -d -p 443:443 -p 9988:80 -p 222:22 --name gitlab --privileged=true --restart unless-stopped -v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
容器初始化的过程可能需要好几分钟,查看存在此容器
4.修改访问配置
默认的配置文件,我们是无法访问的,需要更换成我们的IP
- 修改gitlab.rb,设置访问IP ,目录/home/gitlab/etc/gitlab.rb
vi /home/gitlab/etc/gitlab.rb
任意空白位置添加三行
external_url = 'http://14.17.22.32'
ip替换为服务器ip(此处不能加端口,会无法启动服务)
gitlab_rails['gitlab_ssh_host'] = '146.56.247.207'
开放ssh服务
gitlab_rails['gitlab_shell_ssh_port'] = 222
开放ssh端口
- 修改 gitlab.yml,设置端口和ip,目录 /home/gitlab/data/gitlab-rails/etc/gitlab.yml
vi /home/gitlab/data/gitlab-rails/etc/gitlab.yml
将 ## Web server settings 文案下方的 host和port 设置为我们前面启动容器时设置的端口
- 修改完成后,重启gitlab容器,让配置生效 (重启后等待几分钟,让服务彻底起来)
docker restart gitlab
4. 访问 gitlab 私有云
-
使用 ip+端口 来访问
初始登录会设置一个密码,账号为root
-
进入到gitlab 项目中后可以创建项目并拉取