今天公司要求在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) |