背景
每次部署环境的时候,尤其是环境中有各种依赖,小心翼翼地做着重复的工作,会让人觉得很不爽。docker容器技术就可以将人从这些复杂重复的工作中拯救出来。这里分享一个用docker构建线上环境的实例。
相关名词
Docker 镜像:镜像,就是把程序运行的环境按照自己的实际需求打成的包。比如Centos 是一个镜像, 你在centos上装了redis相关的服务也可以打包成一个镜像。下次加载镜像的时候,就有了之前装的 redis环境了。所以把服务制作成镜像, 那么你到一台新的环境上部署服务时,只需要加载这个镜像就好了,不需要再进行繁琐的环境安装。
Docker Hub: 类比github, github是代码托管中心,而docker hub是镜像托管中心。自己制作的镜像可以上传至docker hub 共享至全世界。当然我们生产环境一般不用docker hub, 就像公司不会把代码放到github上一样的道理。一般会选择自己搭一个docker registry环境,托管公司内部的镜像。
Docker 容器: 容器就是镜像的运行状态。可以用同一个镜像启动多个容器。值得注意的是,容器需要保存成镜像,才能保存对该容器的操作。可以理解为,改动容器,就是在你本地改代码,没有同步到github上。
Docker Compose: compose 编排,就是组合各种docker。比如一个web docker, 一个redisdocker。你可以选择一个一个服务docker run … 。 这样服务跟参数一多起来,就很容易出错,也很繁琐。这时候,把各种服务写到compose的配置文件中去,然后docker-compose up 就可以将所有的服务拉起,并且可以设定挂掉是否重启等。
一、 环境 centos6.5 + docker1.7 + docker compose 1.5
二、用单个Dockerfile产生镜像
三、用docker compose 管理多个服务
环境
主机Centos6.5
Docker1.7 由于新版的docker要求主机centos7以上版本,所以我们用docker1.7支持Centos6.5的主机。
docker compose 1.5 选1.5道理同上
docker是用来制作镜像的,一个服务一个镜像,但是很多情况下一个主机有多个服务,要是用手动一个一个启动docker容器,那是很繁琐的事情。所以,docker compose就是用来解决这个问题的。compose只