docker安装gitlab+redis+mysql
今天公司要求在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)
好了,剩下的用法就要让你们自己去找了.
系统: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)
好了,剩下的用法就要让你们自己去找了.
评论: