溫馨提示×

GitLab于Linux怎樣實現容器化部署

小樊
44
2025-09-23 06:20:40
欄目: 智能運維

GitLab在Linux上的容器化部署指南(基于Docker)

一、準備工作

1. 安裝Docker

Docker是GitLab容器化的基礎環境,需先通過包管理器安裝(以Ubuntu為例):

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates tzdata perl
curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable --now docker

2. 安裝Docker Compose(可選但推薦)

用于簡化多容器應用的管理(如GitLab+CI/CD):

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 Compose部署(推薦)

步驟1:創建數據目錄
用于持久化存儲GitLab的配置、日志和數據(避免容器刪除后數據丟失):

mkdir -p /data/gitlab/{config,logs,data}

步驟2:創建docker-compose.yml文件
/data/gitlab目錄下創建文件,內容如下:

version: '3.6'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest  # 使用社區版鏡像(如需企業版,替換為gitlab/gitlab-ee:latest)
    container_name: gitlab
    restart: always  # 容器自動重啟
    ports:
      - '5480:80'   # HTTP端口(Web界面)
      - '5443:443'  # HTTPS端口
      - '5022:22'   # SSH端口(默認22,可修改為其他端口)
    volumes:
      - './config:/etc/gitlab'     # 配置文件掛載
      - './logs:/var/log/gitlab'   # 日志文件掛載
      - './data:/var/opt/gitlab'   # 數據文件掛載(倉庫、數據庫等)
    shm_size: '256m'  # 共享內存大?。ń鉀QGitLab運行時的內存不足問題)

步驟3:啟動GitLab容器
進入/data/gitlab目錄,執行:

docker-compose up -d

步驟4:獲取初始root密碼
容器啟動后,進入容器查看初始密碼:

docker exec -it gitlab /bin/bash
cat /etc/gitlab/initial_root_password
exit

步驟5:訪問GitLab Web界面
在瀏覽器輸入http://<服務器IP>:5480,使用root賬號和上述初始密碼登錄。

2. 使用Docker命令行直接部署(備選)

若未使用Docker Compose,可通過以下命令快速部署:

docker run -d \
  --hostname gitlab.example.com \  # 設置容器主機名(需與external_url一致)
  -p 8443:443 -p 8080:80 -p 2222:22 \  # 端口映射(自定義宿主機端口)
  --name gitlab \
  --restart always \
  -v /srv/gitlab/config:/etc/gitlab \  # 自定義數據目錄
  -v /srv/gitlab/logs:/var/log/gitlab \
  -v /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

注意:啟動后需通過docker exec進入容器獲取初始密碼(同上)。

三、基本配置

1. 修改外部URL(可選)

若需使用自定義域名或IP,需修改GitLab配置文件:

docker exec -it gitlab /bin/bash
vim /etc/gitlab/gitlab.rb

找到external_url配置項,修改為:

external_url 'http://your_server_ip'  # 或'https://your_domain.com'

保存后退出,執行以下命令使配置生效:

gitlab-ctl reconfigure
gitlab-ctl restart

2. 配置HTTPS(可選)

GitLab支持Let’s Encrypt免費證書,修改gitlab.rb文件:

letsencrypt['enabled'] = true
letsencrypt['contact_emails'] = ['your.email@example.com']  # 填寫有效郵箱

執行gitlab-ctl reconfiguregitlab-ctl restart即可自動申請證書。

四、注意事項

  1. 數據持久化:確保volumes掛載的宿主機目錄存在且有讀寫權限(如/data/gitlab目錄需由當前用戶擁有)。
  2. 端口沖突:若宿主機端口(如80、443、22)已被占用,需修改docker-compose.ymldocker run中的端口映射(如將5480:80改為8080:80)。
  3. 安全性:首次登錄后需修改root密碼(默認密碼復雜度較高,建議使用強密碼);如需禁用用戶注冊,可修改gitlab.rb中的gitlab_rails['signup_enabled'] = false。
  4. 資源分配:GitLab對資源要求較高,建議分配至少2核CPU、4GB內存(生產環境需更高配置)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女