Docker之旅——實例: 搭建gitlab(四)

gitlab介紹

GitLab搭建與維護(基於Docker鏡像sameersbn/docker-gitlab)前端

圖片來自於: Linux公社(https://www.linuxidc.com)linux

圖片描述

前端:Nginx,用於頁面及Git tool走http或https協議
後端:Gitlab服務,採用Ruby on Rails框架,經過unicorn實現後臺服務及多進程
SSHD:開啓sshd服務,用於用戶上傳ssh key進行版本克隆及上傳。注:用戶上傳的ssh key是保存到git帳戶中
數據庫:目前僅支持MySQL和PostgreSQL
Redis:用於存儲用戶session和任務,任務包括新建倉庫、發送郵件等等
Sidekiq:Rails框架自帶的,訂閱redis中的任務並執行git

搭建流程

1.建立虛擬機redis

docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 3072 dev-gitlab

2.配置虛擬機的加速器sql

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

docker pull sameersbn/redis

docker pull sameersbn/postgresql

docker pull sameersbn/gitlab

4.執行上面鏡像生成容器( \ 爲換行符展示,實際上去掉 \ 一行執行)數據庫

# 生成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
相關文章
相關標籤/搜索