【环境搭建】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
相关推荐
AAA修煤气灶刘哥10 小时前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
轻松Ai享生活21 小时前
5 节课深入学习Linux Cgroups
linux
jasnet_u1 天前
如何重置Gitlab的root用户密码
gitlab
christine-rr1 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
muyun28001 天前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
三坛海会大神5551 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆1 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
乌萨奇也要立志学C++1 天前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
凯子坚持 c1 天前
精通 Redis list:使用 redis-plus-plus 的现代 C++ 实践深度解析
c++·redis·list
weixin_456904271 天前
跨域(CORS)和缓存中间件(Redis)深度解析
redis·缓存·中间件