参考资料
Docker官网: https://www.docker.com
Docker介绍
Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的一个容器中,然后发布到任何流行的Linux机器上。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker术语
1、镜像(Image):本身是一个文件,称为镜像文件,可以生成容器实例。
2、容器(Container):镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,容器可以被创建、启动、停止、删除、暂停等。
3、仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像,也可以从种拉取镜像。
Docker优点
Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
Docker概念总结
1、Docker在容器内做的改动是暂时的,但可以使用docker commit命令进行保存,生成一个新的镜像。
2、Dockerfile文件可以构建一个Docker镜像。
3、镜像分层:Dockerfile每一行都会产生一个新层,镜像可以共享相同的层,无形中减少了服务器存储压力。
4、容器数据卷volume:提供独立于容器之外的持久化存储方式。提供容器与容器之间和容器与外界之间的数据共享。
5、Repository:镜像仓库,实现镜像的共享,可以下载别人的镜像。
6、Registry:注册服务器,用于管理镜像仓库,起到的是服务器的作用。
7、Docker把操作系统,代码,tomcat,JDK,配置等封装在集装箱里,打包放在鲸鱼上,由鲸鱼放到我们服务器上。
8、Dockert主要是解决了软件的运行环境、配置不一致所带来的问题。
9、Docker容器可以看作一个迷你版的虚拟机(Linux系统),实际就是一个进程。
10、端口映射:可以实现Docker容器中的端口可以在主机端口上访问到。
11、Docker-compose插件:运行时可以拉起来多个容器,实现容器的编排,非常方便。
12、容器的定义和镜像几乎一模一样,唯一的区别就是容器最上面的一层是可读可写的。
13、隔离性:运行在Docker中的程序,都有属于自己的内存,之间互不影响。不会因为一个程序出现问题而导致其他应用挂掉。