系统环境:CentOS Linux release 7.6.1810 (Core)

git版本:gitlab/gitlab-ce

一、安装和启动docker

HTTPRUNNERMANAGER安装部署

二、拉取镜像文件

 

docker images  #查看镜像文件,没拉取之前是没有任何镜像的

docker search gitlab #搜索镜像

docker pull docker.io/gitlab/gitlab-ce  #下载镜像,下载完成后

docker images #查看镜像文件

三、运行gitlab容器

通过docker容器来运行一个gitlab服务器
docker run --name='gitlab-ce' -d -p 10022:22 -p 80:80 --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab/ gitlab/gitlab-ce

注释:

  --name="nginx-lb": 为容器指定一个名称;

   -d: 后台运行容器,并返回容器ID;

   -p: 指定映射端口号,本文是将ssh的22端口映射为10022端口,web访问的80端口映射为80端口

   -volume: 用来指定挂载目录,将config配置目录、data数据目录、logs日志目录挂载到宿主机上,以后备份方便

   最后就是下载的容器名称


docker ps #查看运行的容器

四、配置gitlab服务器的访问地址

当运行gitlab服务器后,会在映射目录/opt/gitlab/config/目录下生成一个配置文件gitlab.rb

编辑gitlab.rb文件

vi /opt/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址
external_url 'http://192.168.3.33'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.3.33'
gitlab_rails['gitlab_shell_ssh_port'] = 10022

 配置邮箱

以腾讯企业邮箱为例

gitlab_rails['smtp_user_name'] = "XXXXXXXXX@QQ.com"腾讯企业邮箱的账号
gitlab_rails['smtp_password'] = "******"腾讯企业邮箱的密码
gitlab_rails['gitlab_email_from'] = 'XXXXXXXXX@QQ.com'腾讯企业邮箱的账号

修改gitlab.rb配置文件之后,重启容器。

# 进入容器
docker exec -it gitlab-ce  bash

# 重启gitlab
gitlab-ctl reconfigure


通过命令行测试邮件是否发送成功(也可以不测)
gitlab-rails console

irb(main):003:0> Notify.test_email('XXXXXXXXX@qq.com', 'Message Subject', 'Message Body').deliver_now

五、web访问验证

访问http://192.168.3.33

初始页面是设置密码(初始用户名:root),设置完成后root/密码登录

 

 

参考:https://www.cnblogs.com/JeremyWYL/p/8694978.html