Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

 Docker部署GitLab 14.0(docker部署gitlab) Docker GitLab 14.0 开源 第1张

一、部署环境说明

本文中使用本地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.拉取最新版本镜像

  1. dockerpullgitlab/gitlab-ce:latest

2.构建容器

## 创建数据、日志及配置文件目录,用于挂载,实现数据持久化

  1. mkdir-p/data/gitlab/{data,logs,config}

## 构建容器

  1. dockerrun-d--restart=always\
  2. --hostnamegitlab--name=gitlab\
  3. -p5443:443-p90:80-p1122:22\
  4. -v/etc/localtime:/etc/localtime\
  5. -v/data/gitlab/config:/etc/gitlab\
  6. -v/data/gitlab/logs:/var/log/gitlab\
  7. -v/data/gitlab/data:/var/opt/gitlab\
  8. gitlab/gitlab-ce:latest

## 部分参数说明

  1. -d:后台运行容器
  2. --restart=always:在容器退出时总是重启容器(--restart选项通常只用于detached后台启动模式的容器)
  3. --hostnamegitlab:指定容器的主机名为gitlab
  4. --name=gitlab:指定容器名称为gitlab
  5. -p5443:443-p90:80-p1122:22:端口映射,映射宿主机的5443端口到容器内的443端口,映射宿主机的90端口到容器内的80端口,映射宿主机的1122端口到容器内的22端口。注:宿主机的端口可自定义没被应用服务占用的端口。

## 目录映射说明

 Docker部署GitLab 14.0(docker部署gitlab) Docker GitLab 14.0 开源 第2张

3.查看容器

  1. dockerps-a
Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第3张

4.配置GitLab服务的访问地址

## 修改gitlab的配置文件

  1. vi/data/gitlab/config/gitlab.rb
  2. dockerexec-itgitlabvi/etc/gitlab/gitlab.rb
  3. //配置http协议所使用的访问IP地址
  4. external_url'http://192.168.168.100'
Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第4张

注:设置 external_url ,绑定监听的域名或IP或IP+端口。若GitLab需通过公网访问,最好配置域名加HTTPS;若是内部网络访问,则可配置IP或IP+端口,也可配置域名,用户通过配置本地hosts解析访问。本文中为测试,使用IP方式,即 http://192.168.168.100。因构建容器时映射的是80端口。

## 方法一:重启容器

  1. dockerrestartgitlab

## 方法二:重新加载GitLab配置

  1. dockerexec-itgitlabgitlab-ctlreconfigure
  2. //reconfigure需要时间,请耐心等待

5.测试访问

## 查看初始化管理员帐户密码,密码存储在容器内的

/etc/gitlab/initial_root_password (即宿主机上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理员帐户生成的密码为:2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第5张

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

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第6张

## 输入初始化默认管理员账户: root 密码:

2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=,登录。

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第7张

## 登录成功后的首页。

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第8张

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

三、Docker Compose方式部署

1.下载docker-compose文件(也可不下载文件修改,直接创建)

  1. mkdir-p/data/gitlab
  2. cd/data/gitlab
  3. wgethttps://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/docker-compose.yml

2.创建数据、日志及配置文件目录,用于挂载,实现数据持久化

  1. mkdir-p/data/gitlab/{data,logs,config}

3.修改docker-compose文件

  1. mkdir-p/data/gitlab/{data,logs,config}
0

4.启动容器

  1. mkdir-p/data/gitlab/{data,logs,config}
1
Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第9张

5.查看运行状态

  1. mkdir-p/data/gitlab/{data,logs,config}
2
Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第10张

6.测试访问

## 查看初始化管理员帐户密码,密码存储在容器内的

/etc/gitlab/initial_root_password (即宿主机上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理员帐户生成的密码为:EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第11张

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

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第12张

## 输入初始化默认管理员账户: root 密码:

EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=,登录。

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第13张

## 登录成功后的首页。

Docker部署GitLab 14.0(docker部署gitlab)  Docker GitLab 14.0 开源 第14张

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

四、修改超级管理员密码

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

https://www.toutiao.com/item/6982016081162469925/

转载请说明出处
知优网 » Docker部署GitLab 14.0(docker部署gitlab)

发表评论

您需要后才能发表评论