一:介绍

Gitlab是一个强大的代码管理工具.该软件有很好的用户管理,权限管理,分支管理等等的功能.本文章介绍如何用docker部署Gitlab.我司所用的gitlab版本是7.8.1

具体详细文档参考:

https://github.com/sameersbn/docker-gitlab


二:组件

Gitlab
Redis
PostpreSQL OR  MySQL


三:Docker部署MySLQ

docker  pull   sameersbn/mysql:latest
mkdir  -pv  /docker/gitlab/mysql
docker run --name=mysql-gitlab -d    \
  --env='DB_NAME=gitlabhq_production'    \
  --env='DB_USER=gitlab' --env='DB_PASS=password'   \
  --volume=/docker/gitlab/mysql:/var/lib/mysql   \
  sameersbn/mysql:latest

或者

docker  pull sameersbn/postgresql:9.4
mkdir /srv/docker/gitlab/postgresql  -pv
docker run -d   \
  --name=postgresql-gitlab \
  --env='DB_NAME=gitlabhq_production' \
  --env='DB_USER=gitlab' \
  --env='DB_PASS=password' \
  --volume=/srv/docker/gitlab/postgresql:/var/lib/postgresql \
  sameersbn/postgresql:9.4


四:Docker部署Redis

docker pull sameersbn/redis:latest
mkdir /docker/gitlab/redis -pv
docker run -d  \
  --name=redis-gitlab \
  --volume=/docker/gitlab/redis:/var/lib/redis \
  sameersbn/redis:latest

五:Docker部署gitlab

docker  pull sameersbn/gitlab:7.8.1
mkdir   -pv  /docker/gitlab/gitlab
docker run -d    \
  --name='gitlab' \
  --link=mysql-gitlab:mysql  \
  --link=redis-gitlab:redisio \
  --publish=5080:80 \
  --env='GITLAB_HOST=192.168.0.135'  \
  --env='GITLAB_ROOT_PASSWORD=password'  \
  --env='GITLAB_PORT=5080'  \
  --env='GITLAB_SSH_HOST=192.168.0.135'  \
  --env='GITLAB_SSH_PORT=22' \
  --env='GTTLAB_SINGUP=false' \
  --env='GITLAB_EMAIL=15614119390@163.com ' \
  --env='GITLAB_EMAIL_DISPLAY_NAME=Gitlab' \
  --env='GITLAB_EMAIL_ENABLED=true' \
  --env='GITLAB_BACKUP_DIR=/home/git/data/backups' \
  --env='GITLAB_BACKUPS=daily' \
  --env='GITLAB_BACKUP_TIME=00:00' \
  --env='SMTP_ENABLED=true' \
  --env='SMTP_DOMAIN=163.com' \
  --env='SMTP_HOST=smtp.163.com' \
  --env='SMTP_PORT=25' \
  --env='SMTP_USER=***********@163.com' \
  --env='SMTP_PASS=123456' \
  --env='SMTP_STARTTLS=true' \
  --env='SMTP_OPENSSL_VERIFY_MODE=peer' \
  --env='SMTP_AUTHENTICATION=login' \
  --volume=/etc/localtime:/etc/localtime \
  --volume=/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:7.8.1

或者

docker run -d    \
  --name='gitlab' \
  --link=postgresql-gitlab:postgresql  \
  --link=redis-gitlab:redisio \
  --publish=2222:22 \
  --publish=5080:80 \
  --env='GITLAB_HOST=192.168.0.135'  \
  --env='GITLAB_ROOT_PASSWORD=password'  \
  --env='GITLAB_PORT=5080'  \
  --env='GITLAB_SSH_HOST=192.168.0.135'  \
  --env='GITLAB_SSH_PORT=22' \
  --env='GTTLAB_SINGUP=false' \
  --env='GITLAB_EMAIL=bjjd00001@163.com' \
  --env='GITLAB_EMAIL_DISPLAY_NAME=Gitlab' \
  --env='GITLAB_EMAIL_ENABLED=true' \
  --env='GITLAB_BACKUP_DIR=/home/git/data/backups' \
  --env='GITLAB_BACKUPS=daily' \
  --env='GITLAB_BACKUP_TIME=00:00' \
  --env='SMTP_ENABLED=true' \
  --env='SMTP_DOMAIN=163.com' \
  --env='SMTP_HOST=smtp.163.com' \
  --env='SMTP_PORT=25' \
  --env='SMTP_USER=***********@163.com' \
  --env='SMTP_PASS=123456' \
  --env='SMTP_STARTTLS=true' \
  --env='SMTP_OPENSSL_VERIFY_MODE=peer' \
  --env='SMTP_AUTHENTICATION=login' \
  --volume=/etc/localtime:/etc/localtime \
  --volume=/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:7.8.1

六:Gitlab默认用户和密码

- username: root
- password: 5iveL!fe

七:登陆Gitlab

http://192.168.0.135:5080/