以下是在Debian系统上集成GitLab与Docker的方案,包含安装、配置及优化步骤:
一、Docker安装GitLab
-
安装Docker
sudo apt update && sudo apt install docker.io sudo systemctl start docker && sudo systemctl enable docker -
拉取GitLab镜像
docker pull gitlab/gitlab-ce:latest # 社区版 # 或 docker pull gitlab/gitlab-ee:latest # 企业版 -
运行GitLab容器
sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --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- 参数说明:
--hostname:设置主机名或域名(需与配置一致)。--publish:映射端口(HTTP:80、HTTPS:443、SSH:22)。--volume:挂载配置、日志、数据目录,确保数据持久化。
- 参数说明:
-
访问与初始化
- 浏览器访问
http://<服务器IP>,首次登录需设置root密码。 - 可通过
docker exec -it gitlab bash进入容器管理。
- 浏览器访问
二、集成优化配置
-
配置外部URL与HTTPS
- 编辑容器内配置文件:
docker exec -it gitlab bash vi /etc/gitlab/gitlab.rb修改
external_url 'http://your-domain.com',启用HTTPS需配置SSL证书。 - 重启容器生效:
docker restart gitlab
- 编辑容器内配置文件:
-
启用Docker Compose(可选)
- 创建
docker-compose.yml:version: '3.1' services: gitlab: image: gitlab/gitlab-ce container_name: gitlab restart: always ports: - "80:80" - "443:443" - "22:22" volumes: - ./config:/etc/gitlab - ./logs:/var/log/gitlab - ./data:/var/opt/gitlab - 启动服务:
docker-compose up -d
- 创建
-
性能与安全优化
- 资源限制:通过
--cpus和--memory参数限制容器资源。 - 备份策略:定期备份
/srv/gitlab目录。 - 日志管理:通过
--log-opt max-size=10m限制日志文件大小。
- 资源限制:通过
三、验证与维护
- 检查服务状态:
docker ps # 查看容器运行状态 docker logs gitlab # 查看日志 - 更新镜像:
docker pull gitlab/gitlab-ce:latest docker restart gitlab