Docker部署GitLab
目录
Docker部署GitLab
环境
host: CentOS7 4.14内存
docker: 18.09.9-ce
gitlab: 最新版本(1.12+版本)
1.安装docker环境
自行搜索如何安装docker,尽量按照较新版本的docker
2.拉取gitlab镜像
# 拉取镜像
docker pull gitlab/gitlab-ce
3.定义配置文件
# 打开挂载的配置目录
vim /srv/gitlab/config/gitlab.rb
###################################################
# 添加外部请求的域名(如果不支持https, 可以改成http)
external_url 'https://gitlab.evescn.com'
# 修改gitlab对应的时区
gitlab_rails['time_zone'] = 'PRC'
# 开启邮件支持
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@evescn.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
# 配置邮件参数
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@evescn.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "evescn.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
###################################################
4.创建数据日志挂载目录
mkdir /evescn/gitlab/data -pv
mkdir /evescn/gitlab/log -pv
mkdir /evescn/gitlab/config -pv
5.启动容器
# 启动
docker run --detach \
--publish 22443:443 --publish 2280:80 --publish 2222:22 \
--name gitlab \
--memory 4g \
--restart always \
--volume /evescn/gitlab/config:/etc/gitlab \
--volume /evescn/gitlab/logs:/var/log/gitlab \
--volume /evescn/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
# 配置详情
--publish 暴露了容器的三个端口, 分别是https对应的443, http对应80以及ssh对应的22(如果不需要配置https, 可以不暴露)
--memory 限制容器最大内存暂用4G, 这是官方推荐的
--volume 指定挂载目录, 这个便于我们在本地备份和修改容器的相关数据
6.(选配) 配置https
如果配置了https, 需要导入证书
# 进入挂载配置目录
cd /evescn/gitlab/config
# 创建密钥文件夹, 并放入证书
mkdir ssl
cd /ssl
# 上传域名证书文件
7.重启服务
# 方法一: 重启容器(其中xxxxxx是容器id)
docker restart xxxxxx
# 方法二: 登陆容器, 重启配置
docker exec -it xxxxxx bash
gitlab-ctl reconfigure
gitlab-ctl restart
8.写在最后
- 通过ssh方式拉取代码时, 记住端口号是2222, 不是默认的22
- 如果没有配置https, 是无法通过https路径拉取代码的
转载或借鉴文档
https://www.jianshu.com/p/786c0a7a49d4
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程