Docker下安装配置Gitlab,踩坑记录

本文详细介绍了如何使用Docker部署GitLab容器的全过程,包括查找和拉取GitLab镜像,创建必要目录用于配置文件、数据和日志的映射,以及优化内存设置。此外,还提供了配置域名或IP的步骤,以及如何初始化和重启GitLab服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

SETP1

1. 查找Gitlab镜像
docker search gitlab

在这里插入图片描述

2. 拉取镜像
docker pull gitlab/gitlab-ce:latest
3. 查看本地镜像
docker images

在这里插入图片描述

STEP2

1. 本机建立的3个目录

为了gitlab容器通过挂载本机目录启动后可以映射配置文件,数据文件,日志文件到本机,然后后续就可以直接在本机查看和编辑了,不用再进容器操作

mkdir -p /data/docker/gitlab/{config,data,logs}

在这里插入图片描述
转载:https://www.cnblogs.com/ding2016/p/10422605.html

开启Gitlab
docker run --name='gitlab' -d \
--net=gitlab_net \
--publish 4443:443 --publish 8888:80 \
--restart always \
 -v /data/docker/gitlab/config:/etc/gitlab \
 -v /data/docker/gitlab/data:/var/opt/gitlab \
 -v /data/docker/gitlab/logs:/var/log/gitlab \
gitlab/gitlab-ce:latest
2. 配置域名或IP
docker exec -it gitlab /bin/bash
root@gitlab:/ vim /etc/gitlab/gitlab.rb 

查找 external_url 取消注释并修改成索要配置的域名或者IP
在这里插入图片描述

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

根据自己情况修改host等信息
在这里插入图片描述

3. 优化内存

服务器 : 2核 8GB(Gitlab官方最小内存要4GB)

vim /etc/gitlab/gitlab.rb

unicorn[‘worker_processes’]
unicorn[‘worker_timeout’]
unicorn[‘worker_memory_limit_min’]
unicorn[‘worker_memory_limit_max’]
sidekiq[‘concurrency’]
postgresql[‘shared_buffers’]
postgresql[‘max_worker_processes’]
根据自身情况开启注释,修改对应的值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
转载: https://blog.youkuaiyun.com/ouyang_peng/article/details/84066417

gitlab-ctl reconfigure #初始化
gitlab-ctl restart 
exit #退出容器

STEP3

查看进程状态
docker ps

在这里插入图片描述

查看内存消耗
free -m 

在这里插入图片描述
启动成功后buff/cache太高,释放cache

echo 3 > /proc/sys/vm/drop_caches
### 使用 Docker Compose 部署和配置 GitLab 最佳实践 #### 创建必要的目录结构 为了确保数据持久化以及便于管理,建议先创建所需的挂载目录。这些目录将用于存储 GitLab 数据库、日志和其他重要文件。 ```bash mkdir -p /srv/gitlab/{config,data,logs} ``` 此命令会在 `/srv/gitlab` 下建立三个子目录 `config`, `data`, 和 `logs`[^2]。 #### 获取官方镜像并编写 docker-compose.yml 文件 接下来,在项目的根目录下创建名为 `docker-compose.yml` 的文件,并按照如下模板编辑: ```yaml version: '3' services: web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.example.com' # 替换成实际域名 environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['time_zone'] = 'Asia/Shanghai' ports: - '80:80' - '443:443' - '22:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab' runner: image: 'gitlab/gitlab-runner:alpine-v14.7.0' depends_on: - web volumes: - '/srv/gitlab/config:/etc/gitlab-runner' - '/var/run/docker.sock:/var/run/docker.sock' ``` 上述配置中包含了两个主要的服务:一个是作为核心组件的 Web 服务 (`web`);另一个则是 CI/CD 流水线中的执行器(`runner`)。注意替换其中的主机名部分以匹配实际情况[^1]。 #### 启动服务 完成以上准备工作之后,可以通过下面这条简单的指令来启动所有的容器和服务: ```bash docker-compose up -d ``` 这将会以后台模式启动所有定义好的服务实例。首次启动时可能会花费一些时间等待拉取最新的镜像资源[^3]。 #### 访问 GitLab 平台 一旦部署成功,就可以通过预先设定的 URL 地址访问新搭建起来的 GitLab 实例了。默认情况下,第一次登录会提示设置管理员账户密码,请妥善保管好该信息以便后续操作使用[^4]。 #### SSL 设置 (可选) 如果希望启用 HTTPS 协议,则需进一步调整 Nginx 反向代理的相关参数。具体做法是在原有基础上增加一段针对 SSL/TLS 加密传输的支持代码片段[^5]: ```nginx server { listen 443 ssl; server_name gitlab.example.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://localhost:80; ... } } ``` 请记得更新路径指向正确的证书位置,并重启相关服务使更改生效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值