使用Docker安裝GitLab

更新於 2023/05/19閱讀時間約 3 分鐘
GitLab不僅是一個源代碼管理工具,它還提供了一個統一的平台,將開發、運營和安全等流程整合在一起。通過GitLab,可以在單一的應用程序中進行專案計劃、源代碼管理、分支控制、CI/CD等操作。不論角色為何,GitLab提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜性,提高了端到端流程的可視性,從而幫助組織更快地實現變革。
本篇文章主要紀錄使用docker建立gitlab的教學

準備環境

  • OS:Ubuntu 20.04 LTS
  • Gitlab:Gitlab-ce:15.8.0-ce.0
  • Docker Engine:23.0.5

安裝gitlab

在安裝之前,先講解一下gitlab有哪些重要的資料需要掛載的,主要有以下三個路徑
  1. /var/opt/gitlab: 這個路徑主要儲存GitLab的資料。包括Git repo、用戶資料、配置文件等。掛載到本地後,即使容器發生意外被刪除或重新創建,資料也能夠得到保留,達到數據持久化。
  2. ./gitlab/logs:/var/log/gitlab: 這個路徑主要儲存GitLab的log。log包含GitLab的運行log、錯誤log等重要資訊。掛載到本地後,方便日後查看和管理log,並進行故障排除和監控。
  3. /etc/gitlab: 這個路徑主要儲存GitLab的設定檔,包含系統設定、用戶權限、外部整合等設定。掛載到本地後,可根據需求進行自定義調整。
講解完以上重要的掛載路徑後,接下來講解使用docker建立gitlab

docker版

docker run -d \
--name gitlab \
--restart always \
--privileged \
-p 8080:80 \
-p 443:443 \
-p 22:22 \
-v ./gitlab/data:/var/opt/gitlab \
-v ./gitlab/logs:/var/log/gitlab \
-v ./gitlab/config:/etc/gitlab \
gitlab/gitlab-ce:15.8.0-ce.0

docker-compose版

  1. 先建立docker-compose.yaml
  2. 將以下內容貼上
version: "3.6"
services:
gitlab:
image: gitlab/gitlab-ce:15.8.0-ce.0
container_name: gitlab
restart: always
privileged: true
hostname: 'localhost'
ports:
- '8080:80'
- '443:443'
- '22:22'
volumes:
- './gitlab/data:/var/opt/gitlab'
- './gitlab/logs:/var/log/gitlab'
- './gitlab/config:/etc/gitlab'
3. 執行docker-compose up -d讓gitlab在後台運行
4. 執行docker-compose logs -f檢查gitlab log是否有異常

登入gitlab

打開瀏覽器輸入localhost:8080就會看到以下畫面
預設密碼可進到gitlab容器內下cat /etc/initial_root_password
成功登入後就可以看到以下畫面,到這一步就已經完成gitlab的建立了
為什麼會看到廣告
avatar-img
17會員
83內容數
golang
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Alan的開發者天地 的其他內容
什麼是Kubernetes Service? 先來個官網的解說 A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them. 白話文就是
Kubernetes是現代應用程序開發和部署的重要技術,而Pod是Kubernetes中最小的部署單位。Pod是一個或多個container的集合,它們共享一個網路命名空間和一個網路接口。Pod不僅提供了一個簡單而強大的container環境,還可以用於實現多種container編排方案,例如負載平
Intro👨‍💻 在gcp環境下使用ansible playbook 建立k8s cluster,目前base image為centos 7,安裝方式類似elk stack,一樣先等master安裝完後產生token,接著安裝slave。 使用的CRI為containerd,CNI為calico
標題:15 Best Practices when working with Docker 連結:15 Best Practices when working with Docker | by Ali Zeynalli | Dec, 2022 | Medium 本篇文章作者根據經驗以及自身研究整理出
紀錄有哪些方式可以ssh到gce機器 放key到中繼資料 Compute Enging -> 中繼資料 -> 安全殼層金鑰 2. 使用TCP Tunneling 3. 使用gcloud ssh 可編寫tunnel的script 使用 IAP 进行 TCP 转发 | Identity-Aware Pr
最近在研究terraform與ansible的整合,不過還在摸索中,機器的版控對於維運來講相對重要,這時候有terraform的出現,在建立機器後會隨之產生機器的狀態檔,而ansible則是在建立好機器後幫助我完成我所需的機器相關設定 這是一款terraform結合ansible的小玩具,在gcp環
什麼是Kubernetes Service? 先來個官網的解說 A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them. 白話文就是
Kubernetes是現代應用程序開發和部署的重要技術,而Pod是Kubernetes中最小的部署單位。Pod是一個或多個container的集合,它們共享一個網路命名空間和一個網路接口。Pod不僅提供了一個簡單而強大的container環境,還可以用於實現多種container編排方案,例如負載平
Intro👨‍💻 在gcp環境下使用ansible playbook 建立k8s cluster,目前base image為centos 7,安裝方式類似elk stack,一樣先等master安裝完後產生token,接著安裝slave。 使用的CRI為containerd,CNI為calico
標題:15 Best Practices when working with Docker 連結:15 Best Practices when working with Docker | by Ali Zeynalli | Dec, 2022 | Medium 本篇文章作者根據經驗以及自身研究整理出
紀錄有哪些方式可以ssh到gce機器 放key到中繼資料 Compute Enging -> 中繼資料 -> 安全殼層金鑰 2. 使用TCP Tunneling 3. 使用gcloud ssh 可編寫tunnel的script 使用 IAP 进行 TCP 转发 | Identity-Aware Pr
最近在研究terraform與ansible的整合,不過還在摸索中,機器的版控對於維運來講相對重要,這時候有terraform的出現,在建立機器後會隨之產生機器的狀態檔,而ansible則是在建立好機器後幫助我完成我所需的機器相關設定 這是一款terraform結合ansible的小玩具,在gcp環
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 大家好上次我們教了如何下載 Docker Image 使用,今天我們要教如何產出自己的 Image,這次會使用一個 Dockerfile 範例,自行打包 Docker Image,初步練習使用 Docker 指令 下載 Dockerfile 教學檔案 在這裡我已經幫忙寫好一個 Docke
Thumbnail
前言 上次講到 Dockerfile、DockerImage、Docker Container 他們之間的關係,今天我們要來熟悉 Docker Image 如何使用,教你如何抓取雲端上的 Docker Image, Docker Image 下載來源 當我們今天要要使用 Docker Imag
Thumbnail
Docker不僅僅改變了應用的部署方式,它還提供了一種封裝、分發和運行應用的統一方法。這篇文章將引導你完成Gin應用的容器化過程。
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
那時做總統盃黑客松時,因為要GIS 分析,資料放在 postgresql-postgis,安裝與設定上實在是麻煩。於是想說用 docker 人家建好的 postgis。果然是有,然後...
Thumbnail
原文:迷途小資男 接下來,就是要使用 MobaXterm 來 SSH 連線到 VM 主機。 連線的方式如上,若是 DNS 可以解析到 域名,那就在 Remote Host 打上域名,若是還不能夠成功解析,那就先打上公用 IP(外部 IP) 成功的話就設看到這個畫面。 BUT! 編輯設定檔
此案例是在 mac 上運行。 原稿參考 筆者簡化程序,命令如下: //---1.下載 mssql images----(做一次即可) %sudo docker pull mcr.microsoft.com/mssql/server:2017-latest //----2.將image啟動 成
Thumbnail
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。 1. 抓取gitlab image: $ docker pull gitlab/gi
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 大家好上次我們教了如何下載 Docker Image 使用,今天我們要教如何產出自己的 Image,這次會使用一個 Dockerfile 範例,自行打包 Docker Image,初步練習使用 Docker 指令 下載 Dockerfile 教學檔案 在這裡我已經幫忙寫好一個 Docke
Thumbnail
前言 上次講到 Dockerfile、DockerImage、Docker Container 他們之間的關係,今天我們要來熟悉 Docker Image 如何使用,教你如何抓取雲端上的 Docker Image, Docker Image 下載來源 當我們今天要要使用 Docker Imag
Thumbnail
Docker不僅僅改變了應用的部署方式,它還提供了一種封裝、分發和運行應用的統一方法。這篇文章將引導你完成Gin應用的容器化過程。
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
那時做總統盃黑客松時,因為要GIS 分析,資料放在 postgresql-postgis,安裝與設定上實在是麻煩。於是想說用 docker 人家建好的 postgis。果然是有,然後...
Thumbnail
原文:迷途小資男 接下來,就是要使用 MobaXterm 來 SSH 連線到 VM 主機。 連線的方式如上,若是 DNS 可以解析到 域名,那就在 Remote Host 打上域名,若是還不能夠成功解析,那就先打上公用 IP(外部 IP) 成功的話就設看到這個畫面。 BUT! 編輯設定檔
此案例是在 mac 上運行。 原稿參考 筆者簡化程序,命令如下: //---1.下載 mssql images----(做一次即可) %sudo docker pull mcr.microsoft.com/mssql/server:2017-latest //----2.將image啟動 成
Thumbnail
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。 1. 抓取gitlab image: $ docker pull gitlab/gi