docker部署Gitlab全过程

 更新时间:2025年12月05日 10:16:04   作者:野猪佩挤  
文章介绍了如何拉取GitLab Docker镜像、首次登录获取默认密码、修改密码、配置SSH Key、生成SSL证书以及测试SSH方式拉取代码的过程

docker部署Gitlab

拉取gitlab docker镜像

docker pull gitlab/gitlab-ce:latest
 docker run -d \
 -p 80:80 \
 -p 9922:22 \
 -p 443:443 \
 -v /data/gitlab/etc:/etc/gitlab  \
 -v /data/gitlab/log:/var/log/gitlab \
 -v /data/gitlab/opt:/var/opt/gitlab \
 --privileged=true \
 --name gitlab \
 -v /etc/localtime:/etc/localtime:ro \
 gitlab/gitlab-ce:latest
--restart always  容器自启动
--privileged=true  让容器获取宿主机root权限

第一次登录

  • 获取GitLab默认密码
  • 这个文件将在首次执行reconfigure后24小时自动删除
 cat /data/gitlab/etc/initial_root_password | grep Password 

注意登录后并修改密码

编辑 vim /data/gitlab/etc/gitlab.rb

# 这个文件是全注释掉了的,所以直接在首行添加如下配置
  
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口 
external_url 'http://192.168.8.9'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.8.9'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

重新加载配置,重启生效

docker exec  gitlab gitlab-ctl reconfigure &&  docker exec  gitlab gitlab-ctl restart

当复制地址的时候

创建SSH Key在你的电脑上生成密钥

ssh-keygen -t rsa -C "你的邮箱地址"

然后一路回车,使用默认值即可

打开公钥 id_rsa.pub复制搞gitlab上面去

cat ~/.ssh/id_rsa.pub

登陆GitLab,将鼠标放在我的头像下拉框,“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

测试一下ssh方式拉取代码

git clone 地址

配置ssl

生成证书

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=192.168.8.9/O=192.168.8.9"

修改3处

external_url 'https://192.168.8.9'
#将HTTP请求重定向到HTTPS
默认情况下,当您指定以“https”开头的外部\u url时,NGINX将不再侦听端口80上未加密的HTTP流量。如果要将所有HTTP通信重定向到HTTPS,可以使用重定向到HTTPS设置。
nginx['redirect_http_to_https'] = true

 nginx['ssl_certificate'] = "/etc/gitlab/ssl/tls.crt"
 nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/tls.key"

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker自定义网络从入门到实践

    docker自定义网络从入门到实践

    Docker 网络模式决定了容器之间、容器与宿主机之间的通信方式,掌握网络机制是理解容器互联互通的关键,本文给大家介绍docker自定义网络从入门到实践,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • 详解docker 允许主机ssh连接到docker容器中

    详解docker 允许主机ssh连接到docker容器中

    本篇文章主要介绍了详解docker 允许主机ssh到docker容器中,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 详解如何在 docker 容器中捕获信号

    详解如何在 docker 容器中捕获信号

    本篇文章主要介绍了如何在 docker 容器中捕获信号,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • docker和docker-compose一键安装教程(支持在线和离线)

    docker和docker-compose一键安装教程(支持在线和离线)

    这篇文章主要介绍了docker和docker-compose一键安装(支持在线和离线),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 使用docker-compose部署mysql的完整步骤

    使用docker-compose部署mysql的完整步骤

    Compose是用于定义和运行多容器Docker应用程序的工具,通过Compose可以使用YAML文件来配置应用程序的服务,下面这篇文章主要给大家介绍了关于使用docker-compose部署mysql的相关资料,需要的朋友可以参考下
    2022-08-08
  • docker-maven-plugin 插件无法拉取对应jar包问题

    docker-maven-plugin 插件无法拉取对应jar包问题

    这篇文章主要介绍了docker-maven-plugin 插件无法拉取问题,总是报错,如何解决这个问题呢,下面小编给大家带来了解决方法,一起看看吧
    2021-09-09
  • Docker中控制服务启动顺序的操作方法

    Docker中控制服务启动顺序的操作方法

    Docker是一种开源的应用容器引擎,允许开发者将应用及其依赖打包进容器,实现快速、一致的部署,Docker三剑客compose、machine和swarm提供了不同层面的服务管理和编排,使得在不同环境中部署应用变得简单高效
    2024-10-10
  • 云原生之使用Docker部署homer静态主页的方法步骤

    云原生之使用Docker部署homer静态主页的方法步骤

    本文主要介绍了云原生之使用Docker部署homer静态主页的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • skywalking agent 关联docker镜像的多种方法

    skywalking agent 关联docker镜像的多种方法

    Apache SkyWalking 提供了多种方式来部署和使用 SkyWalking Agent,包括在 Docker 容器中运行的应用,本文给大家分享几种方式将 SkyWalking Agent 集成到你的 Docker 应用中,感兴趣的朋友一起看看吧
    2025-04-04
  • Docker容器日志清理的几种方法

    Docker容器日志清理的几种方法

    已经经历两次开发环境磁盘占用满的情况的,第一次是部署太频繁,然后有很多无用的images没有删除掉,第二次是docker容器,某些服务写了很多日志,导致磁盘被写满,那么怎么清理掉一些“垃圾”,让docker占用空间变得小一点?本文给大家整理了几种清理日志的方法
    2025-07-07

最新评论