Docker
Docker之于软件行业,就相当于集装箱之于航运。Docker完全的释放了虚拟化的威力这样的描述一点也不为过。当然这一章节并不打算分析Docker中网络虚拟化部分的原理,而是简单的介绍一下如何把Docker用起来。在用起Docker后,就能从无聊又痛苦的XX环境搭建中脱离出来了。
Docker安装
在Docker的文档Install Docker Engine中已经很好的介绍了Docker在各个OS平台上面的安装步骤。 我是在CentOS 6.5上面安装的,虽不是推荐的CentOS版本,但安装起来也大同小异。 在CentOS 6.5上,EPEL源中就有Docker的安装包。基本步骤大致如下:
// 首先安装EPEL YUM源
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# rpm -ivh epel-release-latest-6.noarch.rpm
// 安装并启动Docker
# yum install docker-io
# service docker start
# service docker status // 检查Docker运行状态
# chkconfig docker on // 配置开机自启动
Docker使用实例
像grafana+graphite这类数据可视化工具,配置起来真的非常痛苦。但有了Docker之后,一切就变得非常简单。下面就以配置grafana工具为例,大致过一遍Docker的使用方法。Google搜索"Docker grafana graphite"的第一个结果就是kamon-io制作的docker-grafana-graphite镜像,就拿它来练手了。
# docker pull kamon/grafana_graphite // 下载image
# docker images // 查看已有的image
// 以kamon/grafama_graphite image为基础,启动一个名字为kamon-grafana-dashboard的container
# docker run \
--detach \
--publish=80:80 \
--publish=81:81 \
--publish=8125:8125/udp \
--publish=8126:8126 \
--name kamon-grafana-dashboard \
kamon/grafana_graphite
// 至此就可以通过80端口访问grafana界面,81端口访问graphite界面了
# docker ps -a // 查看所有container信息及状态
# docker exec -i -t kamon-grafana-dashboard /bin/bash // 进入container
# docker stop kamon-grafana-dashboard // 停止kamon-grafana-dashboard container
// 将在kamon-grafana-dashboard中的修改保存到对应镜像中,就像git commit一样
# docker commit -m 'commit-msg-just-like-git' kamon-grafana-dashboard kamon/grafana_graphite
Docker让人们试用一款复杂的工具的成本降到了最低点。几乎任何你想试玩的软件,都可以在Google中使用"Docker XXX"找到对应的镜像试玩。
如果想搭建自己的Docker images仓库的话,可参考Docker 私有仓库