背景知识
1、容器技术
容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术, 运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像是可以重复使用的。当镜像运行时,它是运行在独立的环境中,并不会和其他的应用共享主机操作系统的内存、CPU或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。
2、Docker
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
3、Docker底层用的Linux的cgroup和namespace这两项技术来实现应用隔离,一个完整的Docker有以下几个部分组成:
1、Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器
4、docker可以在什么情况下使用
(1)web应用自动化打包发布,像tomcat应用的发布。
(2)自动化测试和持续集成、发布
(3)在服务型环境中部署和调整数据库或其他的后台应用
(4)搭建paas环境