Docke實例之搭建gitlab的方法
gitlab介紹概述
GitLab 是一個用于倉庫管理系統(tǒ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實現(xiàn)后臺服務(wù)及多進程
SSHD:開啟sshd服務(wù),用于用戶上傳ssh key進行版本克隆及上傳。注:用戶上傳的ssh key是保存到git賬戶中
數(shù)據(jù)庫:目前僅支持MySQL和PostgreSQL
Redis:用于存儲用戶session和任務(wù),任務(wù)包括新建倉庫、發(fā)送郵件等等
Sidekiq:Rails框架自帶的,訂閱redis中的任務(wù)并執(zhí)行
搭建流程
1.創(chuàng)建虛擬機
docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 3072 dev-gitlab
2.配置虛擬機的加速器
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),實際上去掉 \ 一行執(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為虛擬機分配的地址 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 部署 Prometheus的安裝詳細(xì)教程
這篇文章主要介紹了Docker 部署 Prometheus及安裝方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08docker完整配置nginx+php+mysql的方法步驟
這篇文章主要介紹了docker完整配置nginx+php+mysql的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02docker搭建redis三主三從集群的實現(xiàn)步驟
本文主要介紹了docker搭建redis三主三從集群,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08使用Dockerfile構(gòu)建java web環(huán)境
用dockerfile構(gòu)建一個Java的web環(huán)境,主要分為2步,第一步是在鏡像中安裝jdk并配置環(huán)境變量,第二步是安裝tomcat,下面分步驟給大家詳細(xì)介紹,一起看看吧2016-12-12解決執(zhí)行docker daemon命令時出錯的問題
daemon 這是docker 操作中十分常用的命令指定項,最近在運行docker daemon命令卻發(fā)生了錯誤,后來通過測試各種方法終于解決了,現(xiàn)在將方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-11-11