使用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 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
木鱼时刻2 小时前
容器与 Kubernetes 基本概念与架构
容器·架构·kubernetes
企鹅侠客4 小时前
实践篇:14-构建 Node.js 应用程序镜像
docker·node.js·dockerfile
做一个AC梦4 小时前
Docker安装失败:Docker Desktop installation failed
运维·docker·容器
Shan12054 小时前
浅谈Docker Kicks in的应用
运维·docker·容器
Li&&Tao4 小时前
docker 常用命令
docker·容器·eureka
Jiude6 小时前
MinIO 社区版被故意阉割,Web管理功能全面移除。我来试试国产RustFS
后端·docker·架构
飞询6 小时前
Docker 安装 Elasticsearch 9
elasticsearch·docker
ladymorgana10 小时前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
有点小帅得平哥哥10 小时前
本地部署index-tts并且通过docker做成镜像
docker·index-tts