在Linux上使用Docker容器化部署GitLab是一个相对简单且高效的方法。以下是一个基本的部署方案,包括安装Docker、Docker Compose,以及使用docker-compose
文件来启动GitLab容器。
准备工作
- 更新系统包:
sudo apt update sudo apt upgrade
- 安装依赖包:
sudo apt install -y curl openssh-server ca-certificates tzdata perl
- 安装Ruby和OpenSSL:
sudo apt install -y ruby2.7 libssl-dev zlib1g-dev
- 安装Docker和Docker Compose:
- 安装Docker:
wget -qO - https://pkg.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://pkg.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io
- 安装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
部署步骤
- 创建目录并下载GitLab镜像:
mkdir -p /data/gitlab/{config,logs,data} docker pull gitlab/gitlab-ce:latest
- 创建
docker-compose.yml
文件:
version: '3.6' services: gitlab: image: gitlab/gitlab-ce:latest container_name: gitlab restart: always ports: - '5480:80' - '5443:443' - '5022:22' volumes: - '/data/gitlab/config:/etc/gitlab' - '/data/gitlab/logs:/var/log/gitlab' - '/data/gitlab/data:/var/opt/gitlab'
- 启动GitLab容器:
docker-compose up -d
- 进入容器并设置初始root密码:
docker exec -it gitlab /bin.bash cat /etc/gitlab/initial_root_password
- 访问GitLab:
在浏览器中输入服务器的IP地址或域名,按照提示完成初始设置。
- 配置外部URL(可选):
如果需要使用自定义域名,可以进入容器并修改配置文件:
docker exec -it gitlab /bin.bash vim /etc/gitlab/gitlab.rb # 修改 external_url 'http://your_server_ip' gitlab-ctl reconfigure
- 配置HTTPS(可选):
gitlab-ctl configure-ssl 'http://your_server_ip'
注意事项
- 确保防火墙允许HTTP(端口80)和HTTPS(端口443)流量。
- 如果使用自定义域名,需要在DNS中配置相应的A记录指向服务器的IP地址。
- 定期备份GitLab数据,以防数据丢失。
以上步骤提供了一个基本的Linux GitLab容器化部署方案。根据具体需求,可能还需要进行更多的配置和优化,例如设置高可用性(HA)、配置监控和日志收集等。