由于公司里测试服务器时常会有变动,每次变动之后都需要在新的服务器上配置一遍环境,实在是麻烦。后来我突然想到了在网上看到的资料中说Docker能快速部署可移植的容器,所以我就试着用Docker搭建了Tomcat和Oracle的测试环境。所以本篇以实战为主,主要讲Docker的一些基本概念和常用的命令。
Docker的实现原理
原本我想在这里先介绍一下Docker,但是似乎网上已经有大量的信息的,建议对Docker不是很了解的人先看一下百度百科_Docker词条的“原理”部分,所以这里就不再阐述。
准备工作
Linux用户
如果你是linux用户,只要Linux kernel大于3.8就没问题了,再关闭系统的selinux组件,用你系统里的包管理工具(apt-get、yum等)直接安装Docker就行了。比如在CentOS中只要使用yum install docker-io就可以一键安装完docker。
1、禁用selinux
由于selinux和LXC(Docker实现虚拟化的方式)有冲突,所以需要禁用selinux。编辑/etc/selinux/config,设置两个关键变量。
SELINUX=disabled
SELINUXTYPE=targeted
- 2、安装docker
Ubuntu/debian 使用apt-get install docker-io
CentOS/REHL 则使用yum install docker-io
- Windows或Mac用户
因为Docker并没有直接支持这两个系统,所以不能直接安装Bocker,但是我们可以通过Boot2docker这款工具让我们的系统间接支持。
首先你需要先安装一个virtualbox,这个是为安装Boot2docker做准备的,点virtualbox官网下载页面,进入后选择你系统对应的版本并安装。
进入到Boot2docker官网,下载自己系统对应版本的Boot2docker安装包,安装完之后,在你的程序列表里应该能看到boot2docker图标了。
注:如果你是Mac用户,虽然你也可以使用brew安装Boot2docker,不过还是不建议你那样做,因为我用brew安装了Boot2docker后,并没有创建图标,需要你使用Boot2docker的初始化命令来启动Boot2docker。如果你已经这样做了,可以先用brew卸载Boot2docker,然后删除用户目录下的.boot2docker目录,再打开Virtualbox删除boot2docker-vm虚拟机(如果没有则不用删除)。然后你就可以通过安装包来安装Boot2docker了。
为了避免你在后面使用中产生混乱,这里我先说一个boot2docker的实现原理。boot2docker是在你的系统里创建一个linux的虚拟机,这个虚拟机已经安装好了docker,所有的docker相关的操作都是在这个虚拟机进行的。你可以使用这下这条命令来看到虚拟机的IP地址。通常ip地址应该是192.168.59.103。
echo $DOCKER_HOST
- 测试是否已成功安装Docker
测试方式比较简单,打开boot2docker程序,会打开了一个终端,输入下面的命令后,得到的是一段以“Hello from Docker”开头的介绍信息,则说明安装没问题了。
docker run hello-world