Docker部署GitLab14.0

一、部署环境说明

本文中使用本地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端口。注:宿主机的端口可自定义没被应用服务占用的端口。

## 目录映射说明

宿主机目录位置容器内目录位置描述
/data/gitlab/config/etc/gitlab存储 GitLab 配置文件
/data/gitlab/logs/var/log/gitlab存储日志
/data/gitlab/data/var/opt/gitlab存储应用程序数据

3.查看容器

docker ps -a
Docker部署GitLab 14.0

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'
Docker部署GitLab 14.0

注:设置 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=

Docker部署GitLab 14.0

## 浏览器打开http://192.168.168.100:90即可访问到gitlab,因启动容器时,端口做了映射,使用访问时需加上端口。

Docker部署GitLab 14.0

## 输入初始化默认管理员账户: root 密码:
2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=,登录。

Docker部署GitLab 14.0

## 登录成功后的首页。

Docker部署GitLab 14.0

## 接下来就可以使用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
Docker部署GitLab 14.0

5.查看运行状态

docker ps -a
或
docker-compose ps
Docker部署GitLab 14.0

6.测试访问

## 查看初始化管理员帐户密码,密码存储在容器内的
/etc/gitlab/initial_root_password (即宿主机上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理员帐户生成的密码为:EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=

Docker部署GitLab 14.0

## 浏览器打开http://192.168.168.100:90即可访问到gitlab,因启动容器时,端口做了映射,使用访问时需加上端口。

Docker部署GitLab 14.0

## 输入初始化默认管理员账户: root 密码:
EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=,登录。

Docker部署GitLab 14.0

## 登录成功后的首页。

Docker部署GitLab 14.0

## 接下来就可以使用GitLab了,本文中不一一阐述。

四、修改超级管理员密码

方法可参考之前本人发布的文章第八点:

http://www.yixao.net/soft/25465.html

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.net/soft/25464.html

发表评论

登录后才能评论