使用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就行了!

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

相关推荐
东城绝神1 小时前
《Linux运维总结:基于X86_64+ARM64架构CPU使用docker-compose一键离线部署consul 1.21.5容器版集群》
linux·运维·docker·架构·consul
小醉你真好2 小时前
17、Centos9 安装 1Panel
linux·docker·运维开发
明灯L6 小时前
《Kubernetes 集群搭建全指南:从核心概念到环境部署!》
云原生·容器·kubernetes
insight^tkk6 小时前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
江湖人称小鱼哥6 小时前
WSL + Docker 网络访问详解
网络·docker·容器·wsl
韩宏伟6 小时前
使用 Loki + Promtail + Grafana 实现 Docker 容器日志采集与可视化
docker·容器·grafana
荣光波比8 小时前
K8S(十五)—— 企业级K8s集群管理实践:Rancher安装配置与核心功能实操
容器·kubernetes·rancher
JanelSirry8 小时前
微服务是不是一定要容器化(如 Docker)?我该怎么选
docker·微服务·架构
小屁不止是运维8 小时前
k8s问题详解1:k8s集群上传文件过大导致413 Request Entity Too Large(请求文件实体过大)
docker·容器·kubernetes
聆风吟º9 小时前
无需 VNC / 公网 IP!用 Docker-Webtop+cpolar,在手机浏览器远程操控 Linux
linux·运维·docker