本篇文章主要介绍了"顶 使用Docker构建持续集成与自动部署的Docker集群",主要涉及到方面的内容,对于系统运维感兴趣的同学可以参考一下:
为什么使用Docker从我个人使用的角度讲的话 部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更...
为什么使用Docker
从我个人使用的角度讲的话 部署来的更方便
只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情
虚拟化让集群的管理和控制部署都更方便
hub.docker.com 里面的镜像也很方便 节约了很多自己生成镜像的时间
相当于提高了复用率
安装Docker
我这里使用 Ubuntu 14.04 系统上安装
curl -s https://get.docker.io/ubuntu/ | sudo sh
Ubuntu 其他版本可能需要先升级一下内核
详细可参考 这里
构建持续集成环境(Java)
下来开始我们今天的主题 构建持续集成与自动部署的Docker集群
持续集成的目的
让我们每次更新了代码提交到git仓库后就自动运行测试构建新版本 自动部署到测试或集群 从来提高生产效率 告别重复的劳动
持续集成和部署的原理
我们用到的所有基础设施我们都将使用Docker 部署
1. 推送到git 仓库
2. jenkine pull git代码 运行 编译镜像 进行编译
3. 打包生成的代码 生成一个新版本的镜像 推送到仓库 删除当前容器 重新运行新版本镜像
4. 监控系统
5 docker log 集中管理 LEK
本文使用的是Java的构建方式 除了第三步以外 其他工程也都是一样的
Gitlab作为代码仓库是我们环节的第一步 (如果使用github 或osc git 可以跳过这个步骤)
为了方便构建我们先安装一下docker编配工具 Docker-compose
#使用python 包管理工具pip安装
apt-get install python-pip python-dev
pip install -U docker-compose
一般构建依赖关系比较复杂的容器都可以用docker-compose来配置
使用说明可以看一下 这里
我们使用hub.docker.com 的 sameersbn/gitlab 镜像来快速构建
docker-compose.yml 文件如下