使用Docker搭建GitLab

一、安裝Docker

在Ubuntu系統上,我們可以使用apt-get命令安裝Docker,具體操作如下:

sudo apt-get update
sudo apt-get install -y docker.io

為了避免每次使用Docker命令都需要sudo,可以將當前用戶加入docker組:

sudo usermod -aG docker $USER

再重新登錄一次即可。

二、拉取GitLab鏡像

執行下面的命令從Docker Hub上拉取GitLab CE鏡像:

docker pull gitlab/gitlab-ce:latest

三、創建GitLab容器

為了避免容器內部產生數據被刪除,我們需要將GitLab的數據目錄映射到宿主機的一個目錄中。這裡我們將GitLab數據存儲在宿主機的/home/gitlab-data目錄下。

執行下面的命令創建一個GitLab容器:

docker run -d \
-v /home/gitlab-data/config:/etc/gitlab \
-v /home/gitlab-data/logs:/var/log/gitlab \
-v /home/gitlab-data/data:/var/opt/gitlab \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab \
--restart always \
gitlab/gitlab-ce:latest

命令說明:

  • -d:後台運行容器
  • -v:將宿主機目錄掛載到容器內部
  • -p:埠映射,將容器內部的443、80和22埠映射到宿主機的443、80和22埠上
  • –name:指定容器名稱為gitlab
  • –restart:容器重啟策略,這裡設置為always
  • gitlab/gitlab-ce:latest:指定所使用的GitLab鏡像

容器啟動後,可以使用命令docker ps查看當前正在運行的容器:

docker ps

如果GitLab容器運行正常,則可以通過訪問宿主機的IP地址或者域名:http://your-ip/訪問GitLab。

四、使用GitLab

GitLab的管理員賬號默認為root,管理員賬號的密碼可以在容器中找到:

docker logs gitlab | grep 'Password:'

使用root賬號登錄後,即可創建項目、添加成員等操作。

五、使用Docker Compose

Docker Compose是一個用於定義和運行複雜應用程序的工具。我們可以使用Docker Compose來管理多個容器,比如同時啟動GitLab和MySQL容器。

下面是一個使用Docker Compose搭建GitLab的例子:

version: '3'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    restart: always
    hostname: gitlab.example.com
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com'
    ports:
      - "80:80"
      - "443:443"
      - "2222:22"
    volumes:
      - /srv/gitlab/config:/etc/gitlab
      - /srv/gitlab/logs:/var/log/gitlab
      - /srv/gitlab/data:/var/opt/gitlab

再執行下面的命令即可啟動GitLab容器:

docker-compose up -d

此時,GitLab將會運行在本地的80、443和2222埠上,即可在瀏覽器中訪問。

六、注意事項

在使用Docker搭建GitLab時,有一些需要注意的地方:

  • 建議使用官方提供的鏡像,保證容器的穩定性和安全性;
  • 為了不丟失GitLab中的數據,需要將GitLab的數據目錄映射到宿主機的一個目錄中;
  • 通過環境變數來配置GitLab的一些參數;
  • 在使用Docker Compose時,需要配置正確的網路連接,避免多個容器之間無法通信。

原創文章,作者:SJDVF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332557.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SJDVF的頭像SJDVF
上一篇 2025-01-24 18:46
下一篇 2025-01-24 18:47

相關推薦

  • docker-ce-18.03.1.ce-1.el7.centos.x86_64需要pigz這個依賴的解決方案

    當我們在linux centos系統中安裝docker-ce-18.03.1.ce-1.el7.centos.x86_64時,有時可能會遇到「nothing provides pi…

    編程 2025-04-29
  • 如何解決Docker+k8s報錯413 Request Entity Too Large

    對於使用Docker容器和Kubernetes集群的開發人員,在處理HTTP請求時,常常會遇到413 Request Entity Too Large的報錯。這通常是由於請求的大小…

    編程 2025-04-27
  • docker-compose編寫用法介紹

    本文將詳細介紹docker-compose編寫的各個方面,包括語法、常見命令等等,旨在幫助讀者更好的了解如何使用docker-compose。 一、docker-compose的語…

    編程 2025-04-27
  • Docker 垃圾電腦的解決方案

    Docker 是一種輕量級的容器化技術,可以在一個操作系統中,同時運行多個獨立的應用。在使用 Docker 的過程中,可能會出現 Docker 佔用大量硬碟空間,導致電腦變得極其緩…

    編程 2025-04-27
  • Docker掛載目錄–graph用法介紹

    本文將從如下幾個方面詳細闡述Docker掛載目錄–graph: 一、基本概念 在Docker中,鏡像是由一系列只讀層組成的文件系統。當我們啟動一個容器時,Docker會…

    編程 2025-04-27
  • Docker批量刪除容器詳解

    一、前言 Docker是一個開源的應用容器引擎,提供了一種輕量級容器化技術,方便快捷的進行應用打包、發布、運行。作為廣泛應用的技術之一,Docker是開發、測試、運維的得力助手。但…

    編程 2025-04-25
  • Docker鏡像管理

    一、查看所有鏡像 使用docker命令可以很輕鬆地查看所有已經構建好的鏡像,命令如下: docker images 該命令將列出所有本地docker主機上所有的鏡像: REPOSI…

    編程 2025-04-25
  • Docker內網穿透全解析

    一、什麼是Docker內網穿透 Docker是一個優秀的容器化技術,可以將應用程序和服務打包成輕量級的容器進行管理和部署。但是,Docker容器默認只能在內網環境中進行通信,如果需…

    編程 2025-04-25
  • Docker-Compose教程詳解

    一、概述 Docker-Compose是Docker官方提供的一款使得在一個單機上運行多個容器應用程序變得簡單的工具。它使用YAML文件來配置應用程序的服務,此外還可以輕鬆地啟動、…

    編程 2025-04-25
  • Docker MySQL 5.7詳解

    一、Docker簡介 Docker是一種輕量級容器技術,可以輕鬆構建,發布和運行應用程序和服務。Docker容器類似於虛擬機,但不需要運行虛擬機本身,而是直接在主機上運行。這使得D…

    編程 2025-04-25

發表回復

登錄後才能評論