ubuntu上gitlab如何使用Docker
导读:Ubuntu上使用Docker部署GitLab的完整流程 一、前期准备 1. 安装Docker GitLab容器化部署依赖Docker,首先需在Ubuntu上安装Docker: # 更新系统包 sudo apt update &&a...
Ubuntu上使用Docker部署GitLab的完整流程
一、前期准备
1. 安装Docker
GitLab容器化部署依赖Docker,首先需在Ubuntu上安装Docker:
# 更新系统包
sudo apt update &
&
sudo apt upgrade -y
# 安装依赖
sudo apt install -y curl gnupg lsb-release
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加Docker APT仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >
/dev/null
# 安装Docker引擎
sudo apt update &
&
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 验证Docker安装
sudo docker run hello-world
2. 安装Docker Compose(可选但推荐)
Docker Compose可简化多容器管理,建议安装:
# 下载最新版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
# 验证安装
docker-compose --version
二、部署GitLab(两种方式)
方式1:使用docker run
命令快速部署
# 拉取GitLab社区版镜像(最新版)
docker pull gitlab/gitlab-ce:latest
# 创建数据持久化目录(宿主机)
sudo mkdir -p /srv/gitlab/{
config,logs,data}
# 启动GitLab容器
sudo docker run -d \
--hostname yourdomain.com \ # 替换为你的域名或IP
--publish 80:80 \ # Web界面端口
--publish 443:443 \ # HTTPS端口(可选)
--publish 22:22 \ # SSH端口
--name gitlab \ # 容器名称
--restart always \ # 开机自启
--volume /srv/gitlab/config:/etc/gitlab \ # 配置文件挂载
--volume /srv/gitlab/logs:/var/log/gitlab \ # 日志文件挂载
--volume /srv/gitlab/data:/var/opt/gitlab \ # 数据文件挂载
gitlab/gitlab-ce:latest
方式2:使用docker-compose.yml
文件管理(推荐)
# 创建项目目录
mkdir -p ~/gitlab &
&
cd ~/gitlab
# 创建docker-compose.yml文件
cat <
<
EOF >
docker-compose.yml
version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
shm_size: '256m' # 共享内存(解决某些环境下的性能问题)
EOF
# 启动GitLab容器
docker-compose up -d
关键说明
- 数据持久化:
--volume
(或volumes
)参数将宿主机目录挂载到容器内,确保数据不会因容器删除而丢失。 - 端口映射:默认映射80(HTTP)、443(HTTPS)、22(SSH),可根据需求调整(如避免与宿主机已有服务冲突)。
- 容器名称:
--name
参数指定容器名称(如gitlab
),方便后续管理(如启动、停止、查看日志)。
三、初始配置与访问
1. 获取初始root密码
GitLab容器启动后,首次登录需使用默认root用户的初始密码:
# 进入容器
docker exec -it gitlab /bin/bash
# 查看初始密码(若使用docker-compose,路径为./config/initial_root_password)
cat /etc/gitlab/initial_root_password
# 退出容器
exit
2. 访问GitLab Web界面
- 打开浏览器,输入
http://yourdomain.com
(或宿主机IP,如http://192.168.1.100
)。 - 首次登录需设置root用户的新密码(密码强度要求较高)。
- 登录后即可创建项目、用户、组等。
3. 配置外部URL(可选)
若需修改GitLab访问地址(如从IP改为域名),可进入容器修改配置文件:
docker exec -it gitlab /bin/bash
# 编辑GitLab配置文件
vim /etc/gitlab/gitlab.rb
# 找到external_url,取消注释并设置为新地址(如external_url 'http://yourdomain.com')
external_url 'http://yourdomain.com'
# 保存退出(vim中按:wq)
# 重新加载配置
gitlab-ctl reconfigure
gitlab-ctl restart
四、常用管理命令
1. 容器管理
# 查看GitLab容器状态
docker ps -a | grep gitlab
# 启动GitLab容器
docker start gitlab
# 停止GitLab容器
docker stop gitlab
# 重启GitLab容器
docker restart gitlab
# 查看容器日志(排查问题)
docker logs -f gitlab
2. GitLab服务管理(容器内)
# 进入GitLab容器
docker exec -it gitlab /bin/bash
# 查看GitLab服务状态
gitlab-ctl status
# 重启GitLab服务
gitlab-ctl restart
# 重新加载配置
gitlab-ctl reconfigure
# 停止GitLab服务
gitlab-ctl stop
五、注意事项
1. 系统资源要求
GitLab对资源要求较高,建议分配至少4GB内存(最低2GB,但可能导致性能问题),2核CPU,50GB以上磁盘空间。
2. 防火墙配置
若使用UFW防火墙,需开放相关端口:
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 22/tcp # SSH
sudo ufw reload
3. 数据备份
定期备份GitLab数据(宿主机挂载目录中的config
、logs
、data
文件夹),建议使用rsync
或tar
命令归档:
# 示例:备份到/home/user/gitlab_backup目录
mkdir -p /home/user/gitlab_backup
tar -czvf /home/user/gitlab_backup/gitlab_$(date +%F).tar.gz -C /srv/gitlab ./
4. 生产环境优化
- HTTPS配置:获取SSL证书(如Let’s Encrypt),修改
gitlab.rb
中的external_url
为https://yourdomain.com
,并配置SSL证书路径。 - 高可用性:通过Docker Compose部署多个GitLab节点,配合负载均衡器(如Nginx)实现高可用。
- 资源限制:在
docker-compose.yml
中添加mem_limit
、cpu_shares
等参数,限制容器资源使用。
通过以上步骤,即可在Ubuntu上使用Docker快速部署GitLab,并进行基本的管理和维护。如需更高级的配置(如CI/CD、集成LDAP),可参考GitLab官方文档。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu上gitlab如何使用Docker
本文地址: https://pptw.com/jishu/716598.html