【环境搭建】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
相关推荐
IT规划师2 小时前
Redis 数据类型全解 - 数据类型选型矩阵:一张表、一棵树、四条线(十二)
redis·数据类型
虹科网络安全11 小时前
Redis Radar:在统一视图中掌握 Redis 部署、健康与容量
经验分享·redis·艾体宝·艾体宝it·艾体宝redis
知已难寻12 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
默|笙12 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
大大大大晴天12 小时前
每天认识一个组件:Redis
redis
修己xj14 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
唠玖馆16 小时前
文件系统详解
linux·文件系统·ext2
xbzb17 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级