ubuntu服务器部署gitlab docker并配置nginx反向代理https访问的过程解析

 更新时间:2024年02月17日 10:28:13   作者:Cutecumber  
这篇文章主要介绍了ubuntu服务器部署gitlab docker并配置nginx反向代理https访问的过程,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1.拉取镜像

 docker pull gitlab/gitlab-ce

2.运行容器

docker run --detach \
 --publish 9080:80 --publish 9022:22  --publish 9443:443\
 --name=gitlab \
 --restart=always \
 --volume /home/docker/gitlab/config:/etc/gitlab \
 --volume /home/docker/gitlab/logs:/var/log/gitlab \
 --volume /home/docker/gitlab/data:/var/opt/gitlab \
 --volume /home/docker/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \
 --volume /etc/localtime:/etc/localtime:ro\
 --privileged=true \
 gitlab/gitlab-ce:latest

说明:

--publish指定host和容器的端口映射。为了避免gitlab端口与host nginx冲突,最好都映射一下

3.编辑gitlab配置文件

因为挂载,所以不用进入容器就能修改配置文件,

sudo vim /home/docker/gitlab/config/gitlab.rb

修改如下配置并保存:

external_url 'https://你的域名'
nginx['redirect_http_to_https'] = true
# 你需要将你的证书放在 /home/docker/gitlab/config/ssl下
nginx['ssl_certificate'] = "/etc/gitlab/ssl/xxxx.xxxx.com_bundle.crt" 
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/xxxx.xxxx.com.key"
gitlab_rails['gitlab_shell_ssh_port'] = 9022

4.修改完配置后,重启容器内gitlab服务

# 停止服务
docker exec gitlab sh -c 'gitlab-ctl stop'
# 重新设置gitlab配置
docker exec gitlab  sh -c 'gitlab-ctl reconfigure'
# 启动服务
docker exec gitlab  sh -c 'gitlab-ctl start'

5.Host主机Nginx配置反向代理

## 请求转发到GitLab容器
server {
    listen       443 ssl;
    server_name  xxxx.xxxx.com; # 你的域名
    charset utf-8;
    access_log  logs/gitlab.access.log;
    error_log  logs/gitlab.error.log;
    ssl on;
	# 服务的证书
    ssl_certificate /root/cert/xxxx.xxxx.com_bundle.crt;
	# 服务端key
    ssl_certificate_key /root/cert/xxxx.xxxx.key;
	# session超时时间
    ssl_session_timeout 5m;
	# 加密算法
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	# 允许SSL协议
    ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
	# 启动加密算法
    ssl_prefer_server_ciphers on;
    location /gitlab {
       	proxy_set_header Host $host;
       	proxy_set_header X-Real-IP $remote_addr;
      	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto https;
		proxy_pass https://127.0.0.1:9443;
	}
}

6.重启nginx

 nginx -s reload

浏览器输入https://域名/gitlab访问,会自动跳转到登录页面,不行的话可以多刷新几次试试。

7.重置初始密码

进入容器

docker exec -it gitlab /bin/bash

登入GitLab后台操作

gitlab-rails console -e production
irb(main):003:0> User.all
=> #<ActiveRecord::Relation [#<User id:1 @root>]>
irb(main):004:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):008:0> user.password='12345678'
=> "12345678"
irb(main):009:0> user.password_confirmation='12345678'
=> "12345678"
irb(main):010:0> user.save!
=> true

登录成功

到此这篇关于ubuntu服务器部署gitlab docker并配置nginx反向代理https访问的文章就介绍到这了,更多相关ubuntu部署gitlab docker内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Centos搭建KMS(vlmcsd)激活服务器的步骤

    Centos搭建KMS(vlmcsd)激活服务器的步骤

    Kms是微软官方认可的一种系统激活方式,这个激活方式主要用于企业批量激活计算机的windows和office,这篇文章主要介绍了Centos搭建KMS(vlmcsd)激活服务器的方法,需要的朋友可以参考下
    2023-07-07
  • CentOS 7部署主域名服务器 DNS的方法

    CentOS 7部署主域名服务器 DNS的方法

    文章详细介绍了在CentOS 7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置文件、启动和启用服务、配置防火墙以及测试DNS服务,感兴趣的朋友一起看看吧
    2025-03-03
  • git冲突解决_动力节点Java学院整理

    git冲突解决_动力节点Java学院整理

    这篇文章主要介绍了git冲突解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 运维人员处理服务器故障的方法总结

    运维人员处理服务器故障的方法总结

    作为一个运维人员,遇到服务器故障是在所难免的,要是再赶上修复时间紧、奇葩的技术平台、缺少信息和文档,基本上这过程都会惨痛到让我们留下深刻的记忆。当出现此类问题时,应该如何处理?本文给大家详尽的分析了一下,一起来看看
    2014-01-01
  • Centos服务器部署前后端项目的实战教程

    Centos服务器部署前后端项目的实战教程

    这篇文章主要介绍了Centos服务器部署前后端项目的实战教程,本文通过实例图文结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2024-02-02
  • Ansible Galaxy命令的使用实践示例详解

    Ansible Galaxy命令的使用实践示例详解

    这篇文章主要为大家介绍了Ansible Galaxy命令的使用实践示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 集中化管理平台Ansible详解

    集中化管理平台Ansible详解

    这篇文章主要介绍了Ansible一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台,需要的朋友可以参考下
    2016-08-08
  • 集群运维自动化工具ansible的安装与使用(包括模块与playbook使用)

    集群运维自动化工具ansible的安装与使用(包括模块与playbook使用)

    Ansible是一款很好的基于ssh方案的,替代品,他能够大大简化Unix管理员的自动化配置管理与流程控制方式。它利用推送方式对客户系统加以配置,这样所有工作都可在主服务器端完成。
    2014-07-07
  • 新安装的XAMPP访问phpmyadmin出错的解决方法

    新安装的XAMPP访问phpmyadmin出错的解决方法

    这篇文章主要介绍了新安装的XAMPP访问phpmyadmin出错的解决方法,错误提示为服务器没有响应(或本地服务器的套接字没有正确配置),需要的朋友可以参考下
    2014-11-11
  • k8s入门集群组件介绍及概念理解

    k8s入门集群组件介绍及概念理解

    这篇文章主要为大家介绍了k8s入门集群组件的介绍及概念理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03

最新评论