gitlab 使用docker-compose代替docker安装gitlab

简介: gitlab 使用docker-compose代替docker安装gitlab

**

记录一次使用docker安装gitlab后的项目clone地址问题解决方案: 可以使用docker-compose代替docker安装

**

问题:
1、gitlab搭建好之后,创建项目的clone地址端口号不正确;
2、docker安装的gitlab通过后续配置解决上述问题后,docker restart gitlab后又还原了(万一服务器需要重启,则需要重新配置);

一、docker搭建gitlab:

1、拉取镜像,时间较长

docker pull gitlab/gitlab-ce
AI 代码解读

2、创建待挂载目录(如果没有创建,运行容器时会自动创建)

mkdir -p /usr/local/gitlab/{
   
   config,logs,data}
AI 代码解读

3、没有域名的可以使用服务器IP地址

docker run \
-d \
--privileged=true \
--hostname code.bsapo.com \
-p7001:443 -p7002:80 -p7003:22 \
--name gitlab \
--restart always \
-v /usr/local/gitlab/config:/etc/gitlab  -v /usr/local/gitlab/logs:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab  \
gitlab/gitlab-ce
AI 代码解读

不换行(直接复制):

docker run -d --privileged=true --hostname code.bsapo.com  -p7001:443 -p7002:80 -p7003:22 --name gitlab --restart always -v /usr/local/gitlab/config:/etc/gitlab  -v /usr/local/gitlab/logs:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab   gitlab/gitlab-ce
AI 代码解读

4、添加配置:(ssh克隆地址)

echo "gitlab_rails['gitlab_shell_ssh_port'] = 7003" >> /usr/local/gitlab/config/gitlab.rb
docker exec -it gitlab bash
gitlab-ctl  reconfigure   # 这步时间会有点长
gitlab-ctl restart
AI 代码解读

发现ssh的clone地址由 ssh://git@code.bsapo.com:front/eee.git
变成了ssh://git@code.bsapo.com:==7003==/front/eee.git

5、然后修改http的clone地址

vi  /usr/local/gitlab/data/gitlab-rails/etc/gitlab.yml
AI 代码解读

在这里插入图片描述
修改如下:
gitlab修改http地址

docker  exec  -it  gitlab  bash 
gilab-ctl   restart     # 直接restart即可,这里不能reconfigure,否则很可能会导致无法启动;
AI 代码解读

==OK大功告成!但是:
如果以后服务器需要重启,此配置会还原,那么就需要这样手动修改http的clone地址了,非常麻烦;==

二、docker-compose 搭建gitlab:

mkdir /usr/local/gitlab
cd /usr/local/gitlab
touch docker-compose.yml  # 内容如下

version: '3'
services:
  gitlab:
    restart: always
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    hostname: 'code.bsapo.com'         # 也可以使用IP地址
    privileged: true
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        external_url 'http://code.bsapo.com:7002'       #http地址
        gitlab_rails['gitlab_shell_ssh_port'] = 7003    #ssh地址端口
    ports:
      - '7001:443'
      - '7002:7002'      # 注意这里不是80  与上面external_url自定义端口保持一致
      - '7003:22'

    volumes:             # 宿主机地址若没有,会自动创建目录
      - /usr/local/gitlab/mount/config:/etc/gitlab
      - /usr/local/gitlab/mount/log:/var/log/gitlab
      - /usr/local/gitlab/mount/data:/var/opt/gitlab
AI 代码解读

在当前目录下执行:

docker-compose  up  -d
AI 代码解读

大概一两分钟后,状态就会变为:healthy
在这里插入图片描述
启动后创建项目,检查地址:
gitlab的clone地址

docker restart gitlab 之后,地址依然正常!

相关文章
|
12天前
|
Docker Buildx 简介与安装指南
Docker Buildx 是一个强大的工具,提供了多架构构建、并行构建和高级缓存管理等功能。通过正确安装和配置 Buildx,可以显著提升 Docker 镜像的构建效率和灵活性。希望本文能帮助你更好地理解和使用 Docker Buildx,以提高开发和部署的效率。
137 16
Docker Desktop 4.38 安装与配置全流程指南(Windows平台)
Docker Desktop 是容器化应用开发与部署的一体化工具,支持本地创建、管理和运行 Docker 容器。4.38 版本新增 GPU 加速、WSL 2 性能优化和 Kubernetes 1.28 集群管理功能,适用于微服务开发和 CI/CD 流水线搭建。安装要求为 Windows 10 2004 及以上(64 位),需启用 Hyper-V 或 WSL 2。硬件最低配置为 4GB 内存、20GB 存储和虚拟化技术支持的 CPU。安装步骤包括启用系统功能、下载并运行安装程序,完成后配置镜像加速并验证功能。常见问题涵盖 WSL 2 安装不完整、磁盘空间清理及容器外网访问等。
836 12
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
356 79
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
175 42
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
162 4
|
1月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
81 20
安装docker-18.06报错Error: libseccomp conflicts with docker-18.06
通过这些步骤,您可以成功在CentOS上安装Docker 18.06,并解决libseccomp的冲突问题。这些方法确保系统兼容性,并保证Docker的正常运行。
69 27
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
357 15
Docker 入门全攻略:安装、操作与常用命令指南
Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
如何在Ubuntu 20.04系统中安装Docker
安装 Docker 引擎的步骤如下:首先更新系统包索引 (`sudo apt update`),安装必要依赖包 (`apt-transport-https` 等),添加 Docker 官方 GPG 密钥及 APT 仓库。接着再次更新包索引并安装 Docker 引擎及相关工具 (`docker-ce` 等)。最后启动 Docker 服务并设置开机自启,通过 `docker --version` 和运行测试容器 (`sudo docker run hello-world`) 验证安装是否成功。
36 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等