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

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

mkdir -p /usr/local/gitlab/{
   
   config,logs,data}

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

不换行(直接复制):

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

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

发现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

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

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

==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

在当前目录下执行:

docker-compose  up  -d

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

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

相关文章
|
1月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
283 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
19天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
53 2
|
21天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
51 2
|
22天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
31 3
|
1月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
121 1
Window系统安装Docker
|
1月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
77 0
Docker安装Mosquitto
|
25天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
204 3
|
9天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
9天前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
71 0
|
1月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
46 1