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 之后,地址依然正常!

相关文章
|
16天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
189 79
|
30天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
166 64
|
3天前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
43 25
|
3天前
|
安全 数据安全/隐私保护 Docker
docker私有仓库harbor安装
通过以上步骤,您可以成功在企业内部安装和配置Harbor私有仓库,方便地管理和分发Docker镜像。Harbor不仅提供了基础的镜像管理功能,还增强了安全性、身份管理和审计功能,使其成为企业级容器镜像管理的理想选择。
37 22
|
19天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
80 14
|
17天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
67 7
|
1月前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
107 24
|
1月前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
111 24
|
1月前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
733 12
|
2月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
2616 3
【最新版正确姿势】Docker安装教程(简单几步即可完成)

热门文章

最新文章