Docker搭建便捷的开发者环境
你可能遇到这样的场景:开发软件时,需要像数据库(mysql,mongodb)、消息系统(rabbitmq)、缓存服务(redis)等其它依赖服务。当然我们可以找台机器,一步步安装依赖,然后把所有依赖的服务都安装好,这就是一台测试机。
为了避免重复的劳动,vm层面的解决方案就是把这个测试机做成镜像,以后申请的时候,就可以用之前测试机的镜像作为模板,启动一台虚拟机。这是一种解决方案,不过你可能需要更加灵活的解决方案,更加快速的启动一个开发环境,更加自由的组合和扩展开发时候依赖的服务组件,那好,it comes to Docker。
Dock基于Docker实现了快速搭建开发环境,是一个更加灵活便利的可行性方案,可以短时间内启动所有开发环境所需要的服务。
Dock Github:https://github.com/bripkens/dock
安装步骤:
1.首先确保我们安装了docker engine,然后接下来就是安装dock,当然如果在mac系统上,也可以通过虚拟化的解决方案boot2docker来安装docker,这样整个开发环境就可以都在mac机器上。
2.代码clone下来,然后执行以下命令以及初始化工作,可以把dock放到环境变量中
chmod +x /path/to/dock # Make dock executable
dock -u # Initialise dock
之后你就可以运行以下命令快速的启动需要的组件了,dock这个项目比较简单,很快就可以把代码看完,因为就是在docker之上封装了一层sh脚本,在formula里头可以根据项目需求,自行添加服务组件
$ dock redis jenkins mongodb rabbitmq
这样在开发机上就已经有如下服务了
root@docker-stable-ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND PORTS NAMES
63142f5e4ad2 tutum/rabbitmq /run.sh 0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp rabbitmq
29c3a381ba55 dockerfile/mongodb:latest mongod 28017/tcp, 0.0.0.0:27017->27017/tcp mongodb
0b356f508ed6 jenkins:latest /usr/local/bin/jenki 50000/tcp, 0.0.0.0:8472->8080/tcp jenkins
2cf88d0aea8f dockerfile/redis:latest redis-server /etc/re 0.0.0.0:6379->6379/tcp redis
接下来,开发者就可以根据ip+port等信息,使用刚刚所启动的服务组件了
扩展:
也许我们可以提供这样的服务
1.开发者需要一个redis实例,mongodb实例等等
2.我们可以做一个这样的服务,搭建一个docker集群,然后写一个网页,接收用户的请求,请求到后台docker集群运行起来一个实例,成功后返回ip+port+admin+password
3.开发者通过网页就可以管理申请实例的生命周期
4.管理员在平台中方便的添加新的服务,只要package所需服务的docker image
加上服务发现和管理,这样就是一个简单私有云的服务分发平台了
Docker搭建便捷的开发者环境的更多相关文章
- 如何通过Docker搭建一个swoft开发环境
本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...
- Docker搭建wordpress博客环境(Centos7)
Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...
- 用 Docker 搭建 ORACLE 数据库开发环境
用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...
- 用docker搭建selenium grid分布式环境实践之路
最近需要测试zoom视频会议,同时模拟100个人加入会议.经过了解,zoom提供了直接通过url链接加入会议的方式(只能通过chrome浏览器或者FireFox浏览器,因为用的协议是webrtc). ...
- 使用docker搭建selenium grid 分布式环境
本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数.流程.原理等不做说明.selenium grid的详细情况可查看官方文档https:/ ...
- Docker搭建Java Web运行环境
1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
随机推荐
- 阿里云ecs Linux平台安装mongodb数据库
MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包. 下载地址:http://www.mongodb.org/downloads 下载完安装包,并解压 tgz(以下演示 ...
- DB2应用中嵌入式SQL取值入本地变量
Declare section for host variables in C and C++ embedded SQL applications You must use an SQL declar ...
- [转]DB2时间类函数
Src URL:http://www.cnblogs.com/wanghonghu/archive/2012/05/25/2518604.html 1.db2可以通过SYSIBM.SYSDUMMY1. ...
- NYOJ题目596谁是最好的Coder
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAscAAAMaCAIAAADlQ3w8AAAgAElEQVR4nO3dO3LbvN4H4G8T7r2Q1F
- JavaScript基础——处理字符串
String对象是迄今为止在JavaScript中最常用的对象.在你定义一个字符串数据类型的变量的任何时候,JavaScript就自定为你创建一个String对象.例如: var myStr = &q ...
- C语言的OOP实践(OOC)
OOC 面向对象 C 语言编程实践 - 文章 - 伯乐在线http://blog.jobbole.com/105105/ ---硬着头皮看完了,但是感觉还是抽象有不理解的地方,感觉用C实现OOP好难啊 ...
- Android OkHttp完全解析 --zz
参考文章 https://github.com/square/okhttp http://square.github.io/okhttp/ 泡网OkHttp使用教程 Android OkHttp完全解 ...
- oracle 11g r1 RAC增加新节点
在一套两节点的rac上增加一个新的节点,详细的操作记录如下: 已有节点RAC1,RAC2 一,环境及版本: 公司环境:Vmware Esxi 5.5 操作系统:Redhat 5.8 x86_64 ...
- 微软改名部再次大显神威——ASP.NET 5改名ASP.NET Core 1.0
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:在计算机科学领域只有两件难事:缓存不可用和命名.--Phil Karlton 今天,S ...
- Spring容器初始化过程
一.Spring 容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配号Bean之间的依 ...