使用docker compose安装部署gitlab

安装gitlab

shell 复制代码
docker pull gitlab/gitlab-ce:latest

下载并安装 Docker Compose V2:

shell 复制代码
sudo curl -L "https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

验证安装:

shell 复制代码
docker-compose --version

新建gitlab文件夹

shell 复制代码
mkdir gitlab

docker-compose.yml:

yml 复制代码
version: '3.6'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://IP地址:端口号'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - "端口号:端口号" #这边两个端口号要一致!!!很重要
      - "4443:443"
      - "2222:22"
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab
    networks:
      - gitlab-net
networks:
  gitlab-net:
    driver: bridge

在gitlab目录下启动gitlab

shell 复制代码
docker-compose up -d 

修改gitlab内部配置

进入gitlab容器

shell 复制代码
vim /etc/gitlab/gitlab.rb
yml 复制代码
external_url "http://IP地址:端口号/"
nginx['listen_port'] = 端口号

启动

shell 复制代码
sudo gitlab-ctl reconfigure

配置域名

配置SSL证书

xxxxx.com域名

DNS解析

SSL证书解析

nginx

yml 复制代码
 server {
    	listen 443 ssl;
    	server_name xxxxx.com;
    	ssl_certificate xxxxx.com_bundle.crt;
		ssl_certificate_key xxxxx.com.key;

		location / {
        proxy_pass http://localhost:端口号;

        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 $scheme;
	}
}

最后等待gitlab容器完全启动,访问https://xxxxx.com就行了!

安装了四天,终于弄完了,特地写个笔记记录一下,防止下次再出问题。

相关推荐
target酱1 小时前
Docker部署全流程
前端·docker
橙*^O^*安3 小时前
Kubernetes集群部署Jenkins指南
云原生·容器·kubernetes·jenkins·devops
Anthony_2313 小时前
MySQL的常用命令
运维·数据库·mysql·adb·docker
傻傻虎虎3 小时前
【Docker】常用帮忙、镜像、容器、其他命令合集(1)
运维·docker·容器
2301_794333914 小时前
Docker Compose 运行 Milvus (Mac) 并与 python 连接测试
macos·docker·milvus
xiaok9 小时前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github
三十_9 小时前
【Docker】学习 Docker 的过程中,我是这样把镜像越做越小的
前端·后端·docker
Lin_Aries_042110 小时前
使用阿里云容器镜像服务 ACR
linux·阿里云·docker·云原生·centos·云计算
deeper_wind11 小时前
OpenEuler部署gitlab(小白的“升级打怪”成长之路)
gitlab
zzz.1011 小时前
【Kubernetes知识点】CRD客户资源定义及Gateway
云原生·容器·kubernetes