一、环境介绍

  • CentOS 7 (要求4G以上内存,否则无法运行)
  • Docker 环境
  • IP:192.168.13.218

二、Gitlab 部署

1、拉取镜像

1
docker pull gitlab/gitlab-ce

2、运行 Gitlab 容器

1
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab  -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab    -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce

参数说明:

  • -d ** ** #后台运行,全称:detach
  • -p 8443:443 #将容器内部端口向外映射
  • -p 8090:80 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
  • -p 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
  • –restart always #容器自启动
  • –name gitlab #设置容器名称为gitlab
  • -v /usr/local/gitlab/etc:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建 -v /usr/local/gitlab/log:/var/log/gitlab #与上面一样 -v /usr/local/gitlab/data:/var/opt/gitlab #与上面一样
  • –privileged=true #让容器获取宿主机root权限
  • gitlab/gitlab-ce #镜像的名称,这里也可以写镜像ID

3、查看运行状态

1
docker ps

4、进入 Gitlab 容器

1
docker exec -it gitlab bash

5、修改 url 和 ssh 配置

1
vi /etc/gitlab/gitlab.rb

添加以下内容

1
2
3
external_url 'http://192.168.13.218:8090'
gitlab_rails['gitlab_ssh_host'] = '192.168.13.218'
gitlab_rails['gitlab_shell_ssh_port'] = 8022

6、修改 http 端口配置

1
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

修改端口 80 为 8090

1
2
3
4
5
gitlab:
   ## Web server settings (note: host is the FQDN, do not include http://)
  host: 033c751f54c8
  port: 8090
  https: false

7、重启 Gitlab 服务

1
gitlab-ctl restart

8、查看 root 密码

1
2
3
4
cat /etc/gitlab/initial_root_password | grep ^Password

# 输出的密码如下:
Password: 57tGKfWYqXPOeEvbYSCyR6qFKNeuQ5DW5FYkXz2qCW0=

9、退出容器

1
exit

三、WEB 访问 Gitlab

浏览器输入 URL 地址为本机IP地址,端口为8090,进行Gitlab访问,示例 URL:http://192.168.13.218:8090/

登录用户名为 root ,密码为上一章节第八步获取到的密码,进行登录。

image-20230804174556799

成功登录 Gitlab。

image-20230804181548852