在CentOS上通过Docker容器化部署GitLab,可以按照以下步骤进行。这种方法不仅简化了安装过程,还便于管理和扩展。以下是详细的步骤指南:
sudo
权限的用户进行操作。首先,更新现有的软件包并安装Docker及其相关依赖:
sudo yum update -y
sudo yum install -y policycoreutils openssh-server
设置Docker仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装Docker CE(社区版):
sudo yum install docker-ce docker-ce-cli containerd.io
启动Docker并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
验证Docker安装:
sudo docker run hello-world
如果显示“Hello from Docker!”,则表示Docker安装成功。
为了获取最新版本的GitLab,建议添加GitLab的官方Docker镜像仓库:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
创建GitLab配置文件:
创建一个名为gitlab.rb
的配置文件,并根据需要进行自定义。例如,修改外部访问的URL和端口:
sudo nano /etc/gitlab/gitlab.rb
在文件中添加或修改以下内容:
external_url 'http://your-gitlab-domain.com'
# 如果需要使用HTTPS,请配置SSL证书路径
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/your_domain_name.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/your_domain_name.key"
# 调整GitLab的内存限制(根据服务器资源调整)
unicorn['worker_processes'] = 4
postgresql['shared_buffers'] = "256MB"
保存并退出编辑器。
重新配置并安装GitLab:
运行以下命令以应用配置并安装GitLab:
sudo gitlab-ctl reconfigure
这个过程可能需要一些时间,请耐心等待。
获取初始密码:
安装完成后,可以通过以下命令获取GitLab管理员账户的初始密码:
sudo cat /var/log/gitlab/initial_root_password
登录GitLab:
打开浏览器,访问http://your-gitlab-domain.com
,使用用户名root
和之前获取的初始密码登录。
重置密码:
登录后,建议立即重置管理员密码:
Settings
(设置) > General
(常规)。Administrator
(管理员)部分,点击Change password
(更改密码)并按照提示操作。如果你的服务器启用了防火墙,确保开放HTTP(80)和HTTPS(443)端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
虽然上述方法已经足够简单,但你也可以选择使用Docker Compose来管理GitLab容器。以下是基本步骤:
安装Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
创建docker-compose.yml
文件:
sudo nano /etc/gitlab/docker-compose.yml
添加以下内容:
version: '3'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'your-gitlab-domain.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://your-gitlab-domain.com'
# 其他配置项...
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'
启动GitLab:
sudo docker-compose up -d
使用Docker Compose可以更方便地管理多个服务和配置,适合复杂的环境。
通过以上步骤,你可以在CentOS系统上成功通过Docker容器化部署GitLab。这种方法不仅简化了安装过程,还提高了GitLab的可维护性和可扩展性。如果在部署过程中遇到问题,可以参考GitLab官方文档获取更多帮助。