【环境搭建】linux docker-compose安装gitlab和redis

gitlab需要redis,一起安装了

新建gitlab和redis挂载目录

bash 复制代码
mkdir -p /data/docker/redis/data
mkdir -p /data/docker/redis/logs
mkdir -p /data/docker/redis/conf

mkdir -p /data/docker/gitlab/data
mkdir -p /data/docker/gitlab/logs
mkdir -p /data/docker/gitlab/config

给权限

bash 复制代码
chmod -R 777 /data/docker/redis
chmod -R 777 /data/docker/gitlab

到/data/docker/gitlab目录下新建docker-compose.yml 文件

bash 复制代码
vi docker-compose.yml
bash 复制代码
version: '3'

services:
  redis:
    container_name: redis
    image: redis
    restart: always
    environment:
      REDIS_PASSWORD: "password"
    ports:
      - 6379:6379
    volumes:
      - /data/docker/redis/conf:/etc/redis
      - /data/docker/redis/data:/data
      - /data/docker/redis/logs:/logs
    command: ["redis-server","/etc/redis/redis.conf"]
    networks:
      gitlab_network:
        aliases:
          - redis
    depends_on:
      - redis_config

  redis_config:
    container_name: redis_config
    image: redis
    command: ["sh", "-c", "echo 'requirepass password' > /etc/redis/redis.conf"]
    volumes:
      - /data/docker/redis/conf:/etc/redis
    networks:
      gitlab_network:

  gitlab:
    container_name: gitlab
    image: 'gitlab/gitlab-ce:15.11.2-ce.0'
    restart: always
    depends_on:
      - redis
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url= "https://xxx.com"
        redis_host= "redis"
        redis_port= "6379"
        redis_password= "password"
    ports:
      - "8343:443"
      - "8380:80"
      - "8322:22"
    volumes:
      - /data/docker/gitlab/config:/etc/gitlab
      - /data/docker/gitlab/data:/var/opt/gitlab
      - /data/docker/gitlab/logs:/var/log/gitlab
    networks:
      gitlab_network:

networks:
  gitlab_network:
    driver: bridge

/data/docker/redis/conf目录新建redis.conf空配置

bash 复制代码
touch redis.conf

启动容器

bash 复制代码
docker-compose up -d

修改gitlab root密码

docker exec -it gitlab bash 进入docker

输入

bash 复制代码
gitlab-rails console production

换行,再输入

bash 复制代码
user = User.find_by(username: 'root')
user.password = 'password'
user.password_confirmation = 'password'
user.save!
exit

重启容器

bash 复制代码
docker-compose restart

-------------------------------------------------------分割线----------------------------------------------------------

如果想要gitlba支持https

进入gitlab容器

bash 复制代码
docker exec -it gitlab bash 

修改gitlab.rb文件

vim /etc/gitlab/gitlab.rb (可能需要使用 apt update install vim 安装vim)

bash 复制代码
external_url 'https://xx.com'
#/etc/gitlab/ssl/server.crt /etc/gitlab/ssl/server.key路径依据实际情况更换
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"

# 下面为http跳转https配置,不需要可以不加
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
nginx['listen_port'] = 443 #docker部署,容器内端口

容器内继续输入

bash 复制代码
gitlab-ctl reconfigure

exit;退出容器,重启

bash 复制代码
docker-compose restart
相关推荐
DYWorker0015 分钟前
Linux驱动子系统:DMA子系统 —— Consumer和Provider(006)
linux·驱动开发
byte轻骑兵14 分钟前
【BlueZ】 log 模块:日志系统的实现与自定义日志输出配置
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
March.s41 分钟前
Docker 容器与网络深度指南:从入门到精通
docker
探索云原生42 分钟前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
辉灰笔记1 小时前
Redis6.0.10升级迁移至Redis7.4.6(修复CVE‑2025‑49844,业务无需重启)
redis·redis7·漏洞修复·数据库迁移·redis平滑升级·cve-2025-49844
一技安身1 小时前
【信创】docker-26.0.2.tgz 原理 + 完整安装
linux·运维·服务器
程曦曦1 小时前
MySQL 生产库误删 98 张表后的时间点恢复实战:从 binlog 解析到资金对账
linux·数据结构·其他·算法·ubuntu·运维开发
赵民勇2 小时前
systemd-mount命令详解
linux
fengkai45452 小时前
八、Docker详解1-3
运维·docker·容器
H_oRIZoN_2 小时前
Linux入门DAY42【51 单片机】DS18B20 数字温度传感器完整解析(单总线原理 + 时序 + 读取流程)
linux·单片机·linux应用编程