Docke實(shí)例之搭建gitlab的方法
gitlab介紹概述
GitLab 是一個(gè)用于倉庫管理系統(tǒng)的開源項(xiàng)目。使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來的web服務(wù)。Github是公共的git倉庫,而Gitlab適合于搭建企業(yè)內(nèi)部私有g(shù)it倉庫
官網(wǎng):
https://github.com/gitlabhq/gitlabhq

前端:Nginx,用于頁面及Git tool走h(yuǎn)ttp或https協(xié)議
后端:Gitlab服務(wù),采用Ruby on Rails框架,通過unicorn實(shí)現(xiàn)后臺服務(wù)及多進(jìn)程
SSHD:開啟sshd服務(wù),用于用戶上傳ssh key進(jìn)行版本克隆及上傳。注:用戶上傳的ssh key是保存到git賬戶中
數(shù)據(jù)庫:目前僅支持MySQL和PostgreSQL
Redis:用于存儲用戶session和任務(wù),任務(wù)包括新建倉庫、發(fā)送郵件等等
Sidekiq:Rails框架自帶的,訂閱redis中的任務(wù)并執(zhí)行
搭建流程
1.創(chuàng)建虛擬機(jī)
docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 3072 dev-gitlab
2.配置虛擬機(jī)的加速器
docker-machine ssh dev-gitlab sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://6cade60d.m.daocloud.io |g" /var/lib/boot2docker/profile exit docker-machine restart dev-gitlab
3.下載redis,postgresql,gitlab鏡像
docker pull sameersbn/redis docker pull sameersbn/postgresql docker pull sameersbn/gitlab
4.執(zhí)行上面鏡像生成容器( \ 為換行符展現(xiàn),實(shí)際上去掉 \ 一行執(zhí)行)
# 生成postgresql鏡像容器 docker run --name postgresql -d \ -e 'DB_NAME=gitlabhq_production' \ -e 'DB_USER=gitlab' \ -e 'DB_PASS=password' \ -e 'DB_EXTENSION=pg_trgm' \ -v /home/docker/opt/postgresql/data:/var/lib/postgresql \ sameersbn/postgresql
# 生成redis鏡像容器 docker run --name redis -d \ -v /home/docker/opt/redis/data:/var/lib/redis \ sameersbn/redis
# 生成redis鏡像容器 # 注意: GITLAB_HOST為虛擬機(jī)分配的地址 docker run --name gitlab -d \ --link postgresql:postgresql --link redis:redisio \ -p 10022:22 -p 10080:80 \ -e 'GITLAB_PORT=10080' \ -e 'GITLAB_SSH_PORT=10022' \ -e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \ -e 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \ -e 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \ -e 'GITLAB_HOST=192.168.99.100' \ -e 'GITLAB_EMAIL=xiahl0916@163.com' \ -e 'SMTP_ENABLED=true' \ -e 'SMTP_DOMAIN=www.163.com' \ -e 'SMTP_HOST=smtp.163.com' \ -e 'SMTP_STARTTLS=false' \ -e 'SMTP_USER=郵箱地址' \ -e 'SMTP_PASS=郵箱密碼' \ -e 'SMTP_AUTHENTICATION=login' \ -e 'GITLAB_BACKUP_SCHEDULE=daily' \ -e 'GITLAB_BACKUP_TIME=00:30' \ -v /home/docker/opt/gitlab/data:/home/git/data -m 2048m --memory-swap=-1 \ sameersbn/gitlab
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決Docker鏡像拉取超時(shí)及優(yōu)化網(wǎng)絡(luò)配置的方法(failed to do request
在使用 Docker 構(gòu)建和部署應(yīng)用時(shí),拉取鏡像是一個(gè)關(guān)鍵的步驟,然而,在一些網(wǎng)絡(luò)環(huán)境中,特別是企業(yè)內(nèi)部網(wǎng)或受限網(wǎng)絡(luò)環(huán)境中,可能會遇到 Docker 鏡像拉取失敗或超時(shí)的問題,這篇博客將詳細(xì)探討如何應(yīng)對 Docker 鏡像拉取超時(shí)的問題,需要的朋友可以參考下2024-11-11
Windows安裝docker-desktop的詳細(xì)步驟
這篇文章主要介紹了Windows安裝docker-desktop的詳細(xì)步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-03-03
如何使用Docker部署FTP和Nginx并通過HTTP訪問FTP里的文件
本文介紹了如何使用Docker部署FTP服務(wù)器和Nginx,并通過HTTP訪問FTP中的文件,通過將FTP數(shù)據(jù)目錄掛載到Nginx容器內(nèi),Nginx可以提供文件列表和下載功能,推薦使用Docker Compose來管理容器2025-03-03
docker容器增加或者修改容器映射端口的實(shí)現(xiàn)方法
在只有使用docker安裝的容器,沒有使用docker-compose或者其他客戶端工具,如果要增加或者修改容器端口,也是可以增加或者修改容器端口映射,本文給大家介紹了docker容器增加或者修改容器映射端口的實(shí)現(xiàn)方法,需要的朋友可以參考下2025-01-01
使用docker compose一鍵部署多個(gè)服務(wù)的方法
docker compose 是 docker 官方的開源項(xiàng)目,用來實(shí)現(xiàn)對 docker 容器集群的快速編排,通過docker-compose可以一鍵創(chuàng)建和刪除多個(gè)容器 ,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01
使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境
這篇文章主要介紹了使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

