一、部署环境说明
本文中使用本地VM虚机部署测试。
OS:CentOS Linux release 7.8.2003 (Core) 3.10.0-1160.24.1.el7.x86_64
IP:192.168.168.100
Docker Version:v20.10.7
Docker Compose:v1.29.2
虚机配置:2核CPU、4G内存
注:①系统为最小化安装,部署前已完成系统初始化、内核及安全优化;
②Docker及Docker Compose已安装;
③Iptables防火墙已启用,Docker服务启动容器时映射的端口会自动添加至Iptables防火墙相关规则中,不需要手动更改Iptables规则。
二、Docker方式部署
官方仓库镜像:
https://hub.docker.com/r/gitlab/gitlab-ce
官方部署文档:
https://docs.gitlab.com/ce/install/docker.html#installing-gitlab-community-edition
1.拉取最新版本镜像
- docker pull gitlab/gitlab-ce:latest
2.构建容器
## 创建数据、日志及配置文件目录,用于挂载,实现数据持久化
- mkdir -p /data/gitlab/{data,logs,config}
## 构建容器
- docker run -d --restart=always \
- --hostname gitlab --name=gitlab \
- -p 5443:443 -p 90:80 -p 1122:22 \
- -v /etc/localtime:/etc/localtime \
- -v /data/gitlab/config:/etc/gitlab \
- -v /data/gitlab/logs:/var/log/gitlab \
- -v /data/gitlab/data:/var/opt/gitlab \
- gitlab/gitlab-ce:latest
## 部分参数说明
- -d:后台运行容器
- --restart=always:在容器退出时总是重启容器(--restart选项通常只用于detached后台启动模式的容器)
- --hostname gitlab:指定容器的主机名为gitlab
- --name=gitlab :指定容器名称为gitlab
- -p 5443:443 -p 90:80 -p 1122:22 :端口映射,映射宿主机的5443端口到容器内的443端口,映射宿主机的90端口到容器内的80端口,映射宿主机的1122端口到容器内的22端口。注:宿主机的端口可自定义没被应用服务占用的端口。
## 目录映射说明
3.查看容器
- docker ps -a
4.配置GitLab服务的访问地址
## 修改gitlab的配置文件
- vi /data/gitlab/config/gitlab.rb
- 或
- docker exec -it gitlab vi /etc/gitlab/gitlab.rb
- //配置http协议所使用的访问IP地址
- external_url 'http://192.168.168.100'
注:设置 external_url ,绑定监听的域名或IP或IP+端口。若GitLab需通过公网访问,最好配置域名加HTTPS;若是内部网络访问,则可配置IP或IP+端口,也可配置域名,用户通过配置本地hosts解析访问。本文中为测试,使用IP方式,即 http://192.168.168.100。因构建容器时映射的是80端口。
## 方法一:重启容器
- docker restart gitlab
## 方法二:重新加载GitLab配置
- docker exec -it gitlab gitlab-ctl reconfigure
- //reconfigure需要时间,请耐心等待
5.测试访问
## 查看初始化管理员帐户密码,密码存储在容器内的
/etc/gitlab/initial_root_password (即宿主机上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理员帐户生成的密码为:2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=
## 浏览器打开http://192.168.168.100:90即可访问到gitlab,因启动容器时,端口做了映射,使用访问时需加上端口。
## 输入初始化默认管理员账户: root 密码:
2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=,登录。
## 登录成功后的首页。
## 接下来就可以使用GitLab了,本文中不一一阐述。
三、Docker Compose方式部署
1.下载docker-compose文件(也可不下载文件修改,直接创建)
- mkdir -p /data/gitlab
- cd /data/gitlab
- wget https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/docker-compose.yml
2.创建数据、日志及配置文件目录,用于挂载,实现数据持久化
- mkdir -p /data/gitlab/{data,logs,config}
3.修改docker-compose文件
- cd /data/gitlab
- vi docker-compose.yml
- //修改hostname、external_url、ports、volumes参数选项值,增加container_name参数选项及对应值,如下
- web:
- image: 'gitlab/gitlab-ce:latest'
- restart: always
- hostname: 'gitlab'
- container_name: gitlab
- environment:
- GITLAB_OMNIBUS_CONFIG: |
- external_url 'http://192.168.168.100'
- ports:
- - '90:80'
- - '5443:443'
- - '1122:22'
- volumes:
- - '/data/gitlab/config:/etc/gitlab'
- - '/data/gitlablogs:/var/log/gitlab'
- - '/data/gitlab/data:/var/opt/gitlab'
4.启动容器
- cd /data/gitlab
- docker-compose -f docker-compose.yml up -d
5.查看运行状态
- docker ps -a
- 或
- docker-compose ps
6.测试访问
## 查看初始化管理员帐户密码,密码存储在容器内的
/etc/gitlab/initial_root_password (即宿主机上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理员帐户生成的密码为:EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=
## 浏览器打开http://192.168.168.100:90即可访问到gitlab,因启动容器时,端口做了映射,使用访问时需加上端口。
## 输入初始化默认管理员账户: root 密码:
EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=,登录。
## 登录成功后的首页。
## 接下来就可以使用GitLab了,本文中不一一阐述。
四、修改超级管理员密码
方法可参考之前本人发布的文章第八点:
https://www.toutiao.com/item/6982016081162469925/