GitLab在Linux上如何使用Docker部署
导读:GitLab在Linux上使用Docker部署指南 一、准备工作 安装Docker 根据Linux发行版选择对应安装方式(以Ubuntu为例): sudo apt-get update sudo apt-get install -y c...
GitLab在Linux上使用Docker部署指南
一、准备工作
-
安装Docker
根据Linux发行版选择对应安装方式(以Ubuntu为例):sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates tzdata curl -fsSL https://get.docker.com | sudo sh sudo systemctl enable --now docker
-
安装Docker Compose(可选但推荐)
用于简化多容器应用管理,安装命令:sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
-
硬件要求
GitLab对资源消耗较大,建议分配至少2核CPU、4GB内存(生产环境建议更高配置),避免因资源不足导致容器无法启动。
二、使用Docker Compose部署(推荐)
- 创建存储目录
用于持久化GitLab的配置、日志和数据(避免容器删除后数据丢失):mkdir -p /opt/gitlab/{ config,logs,data}
- 编写docker-compose.yml文件
在/opt/gitlab
目录下创建docker-compose.yml
,内容如下:version: '3.6' services: gitlab: image: gitlab/gitlab-ce:latest # 使用社区版(CE),如需企业版(EE)替换为gitlab/gitlab-ee:latest container_name: gitlab restart: always # 开机自启 ports: - '8080:80' # HTTP端口(访问Web界面) - '8443:443' # HTTPS端口(可选) - '2222:22' # SSH端口(避免与宿主机SSH冲突) volumes: - './config:/etc/gitlab' # 配置文件目录 - './logs:/var/log/gitlab' # 日志文件目录 - './data:/var/opt/gitlab' # 数据文件目录(仓库、用户数据等) shm_size: '256m' # 共享内存(解决数据库连接问题)
- 启动GitLab容器
进入/opt/gitlab
目录,执行以下命令:
启动后可通过docker-compose up -d
docker ps
查看容器状态,确认gitlab
容器处于Up
状态。
三、使用Docker Run命令部署(备选)
若未使用Docker Compose,可通过以下命令直接运行容器:
docker run -d \
--name gitlab \
--restart always \
-p 8080:80 \
-p 2222:22 \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
说明:将/opt/gitlab
替换为你准备的存储目录,端口可根据实际情况调整。
四、访问与初始配置
- 访问Web界面
容器启动后,在浏览器输入http://< 服务器IP> :8080
(若修改了端口则替换为对应端口),进入GitLab登录页面。 - 设置root密码
首次登录需使用默认管理员账户root
,密码可通过以下命令获取:
输入密码后,系统会提示修改密码(建议设置为复杂密码)。docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
五、基础配置调整
- 修改外部URL(可选)
若需使用自定义域名或IP访问,可编辑GitLab配置文件:
找到docker exec -it gitlab vim /etc/gitlab/gitlab.rb
external_url
配置项,修改为你的域名或IP(如external_url 'http://192.168.1.100'
),保存后重载配置:docker exec -it gitlab gitlab-ctl reconfigure
- 配置HTTPS(可选)
若需启用HTTPS,需提前申请SSL证书(如Let’s Encrypt),并将证书文件挂载到容器内的/etc/gitlab/ssl
目录,修改gitlab.rb
中的external_url
为https://
开头,并配置SSL证书路径,最后重载配置。
六、注意事项
- 数据持久化
确保volumes
配置的宿主机目录存在且有读写权限,避免容器删除后数据丢失。 - 端口冲突
若宿主机已有服务占用GitLab的端口(如80、22),需修改docker-compose.yml
或docker run
中的端口映射(如将8080:80
改为8090:80
)。 - 资源监控
GitLab运行时需监控CPU、内存使用情况,避免因资源不足导致服务崩溃(可通过docker stats
命令查看)。 - 防火墙设置
若使用防火墙(如UFW、Firewalld),需开放对应的端口(如80、443、22),允许外部访问。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: GitLab在Linux上如何使用Docker部署
本文地址: https://pptw.com/jishu/730833.html