当前位置: > Linux服务器 > Docker >

docker安装gitlab+redis+mysql

时间:2016-06-05 00:03来源:linux.it.net.cn 作者:IT
今天公司要求在docker中安装gitlab+mysql,经过一天的折腾,终于搞定了.
  系统:centos 6.5(64位)
1.先安装并启动docker
这一步就不再介绍了,大家看我之前的centos 6.5安装docker和jenkins文章吧.

2.安装准备
mkdir /srv/docker/gitlab/mysql -pv
mkdir /srv/docker/gitlab/redis -pv
mkdir /srv/docker/gitlab/gitlab -pv
mkdir /srv/docker/gitlab/log -pv

chcon -Rt svirt_sandbox_file_t /srv/docker/gitlab/mysql
chcon -Rt svirt_sandbox_file_t /srv/docker/gitlab/redis
chcon -Rt svirt_sandbox_file_t /srv/docker/gitlab/gitlab

3.安装mysql redis gitlab
docker pull sameersbn/mysql:latest
docker pull sameersbn/redis:latest
docker  pull sameersbn/gitlab:latest

下完后,我们用docker images来查看这3个镜像是否存在.

4.先启动mysql和redis
docker run --name=gitlab-mysql -tid    \
  --env='DB_NAME=gitlabhq_production'    \
  --env='DB_USER=gitlab' --env='DB_PASS=passwd'   \
  --volume=/srv/docker/gitlab/mysql:/var/lib/mysql   \
  sameersbn/mysql:latest

docker run --name gitlab-redis -tid \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis:latest

好了,这2个启动好了之后,我们用docker ps -a来查看是否运行,也可以用docker logs gitlab-mysql来查看安装过程.

5.启动gitlab
docker run --name gitlab -tid \
    --link gitlab-mysql:mysql --link gitlab-redis:redisio \
    -p 10022:22 -p 10080:80 \
    -e 'GITLAB_HOST=your-gitlab-ip' \
    -e 'GITLAB_PORT=10080' -e 'GITLAB_SSH_PORT=10022' \
    -e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
    -v /srv/docker/gitlab/gitlab:/home/git/data \
    -v /srv/docker/gitlab/log:/var/log/gitlab \
    sameersbn/gitlab:latest

ps:
环境变量GITLAB_HOST、GITLAB_SECRETS_DB_KEY_BASE是必须的,否则启动不成功.
上面命令中的long-and-random-alpha-numeric-string请替换成一组随机的字串,可以使用 pwgen -Bsv1 64来生成.

好了,启动成功的话,就去浏览器验证:
http://your-gitlab-ip:10080
输入预设账号和密码:
username: root
password: 5iveL!fe

6.加入启动项
echo 'docker start gitlab_redis' >> /etc/rc.local
echo 'docker start gitlab_mysql' >> /etc/rc.local
echo 'docker start gitlab' >> /etc/rc.local

7.进入docker容器
进入交互模式:
docker exec -it gitlab bash

进入非交互模式:
docker run -tid -t sameersbn/gitlab /bin/bash

删除所有正在运行的容器:
docker rm $(docker ps -q -a)

停止所有正在运行的容器:
docker kill $(docker ps -q -a)

好了,剩下的用法就要让你们自己去找了.


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容