docker持续集成部署、csphere监控平台【转:http://blog.csdn.net/java_dyq/article/details/51997024】
2017-02-15 15:13
761 查看
为什么使用Docker
“
从我个人使用的角度讲的话部署来的更方便
只要构建过一次环境推送到镜像仓库迁移起来也是分分钟的事情
虚拟化让集群的管理和控制部署都更方便
hub.docker.com里面的镜像也很方便节约了很多自己生成镜像的时间
相当于提高了复用率
”
从我个人使用的角度讲的话部署来的更方便
只要构建过一次环境推送到镜像仓库迁移起来也是分分钟的事情
虚拟化让集群的管理和控制部署都更方便
hub.docker.com里面的镜像也很方便节约了很多自己生成镜像的时间
相当于提高了复用率
”
安装Docker
我这里使用Ubuntu14.04系统上安装
1 | curl-shttps: //get .docker.io /ubuntu/ | sudo sh |
详细可参考
”
构建持续集成环境(
下来开始我们今天的主题构建持续集成与自动部署的Docker集群
持续集成的目的
让我们每次更新了代码提交到
”
持续集成和部署的原理
我们用到的所有基础设施我们都将使用Docker部署
1.推送到git仓库
2.jenkinepullgit代码运行编译镜像进行编译
3.打包生成的代码生成一个新版本的镜像推送到仓库删除当前容器重新运行新版本镜像
4.监控系统
5dockerlog集中管理LEK
本文使用的是Java的构建方式除了第三步以外其他工程也都是一样的
”
构建Gitlab
Gitlab作为代码仓库是我们环节的第一步(如果使用github或oscgit可以跳过这个步骤)
为了方便构建我们先安装一下docker编配工具Docker-compose
1 2 3 | #使用python包管理工具pip安装 apt-get install python-pippython-dev pip install -Udocker-compose |
使用说明可以看一下
我们使用hub.docker.com的
docker-compose.yml文件如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | gitlab: image:sameersbn /gitlab ports: - "22:22" - "80:80" links: -gitlab-redis:redisio -gitlab-postgresql:postgresql environment: -GITLAB_PORT=80 -GITLAB_SSH_PORT=22 -GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string restart:always gitlab-redis: image:sameersbn /redis restart:always gitlab-postgresql: image:sameersbn /postgresql :9.4-12 environment: -DB_NAME=gitlabhq_production -DB_USER=gitlab -DB_PASS=password restart:always |
1 2 | #执行如下命令就可以构建gitlab了 docker-composeup-d |
访问一下启动主机的你映射的端口即可访问我这里是80
”
构建Docker私有仓库
同样我们还需要一个Docker仓库来存放我们发布的镜像版本(使用公有仓库如dockerhub可以跳过此步骤)
我们采用官方镜像
运行如下命令即可
1 2 | dockerrun-d--restart=always--nameregistry\ - v /mnt/docker/registry : /tmp/registry -p5000:5000registry |
相应命令
1 2 | dockerpull仓库ip:仓库端口/项目名拉取镜像 dockerpush仓库ip:仓库端口/项目名推送镜像 |
docker私有仓库拉取/推送失败提示不能使用http连接
方法1设置仓库https证书即可推荐
方法2在docker启动参数里面添加–-insecure-registry0.0.0.0/0然后重启docker
”