什么是Docker?
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
Docker的核心?
- 镜像:一个镜像代表一个应用环境,它是一个只读的文件,如mysql镜像,tomcat镜像,nginx镜像。
- 容器:镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写。
- 仓库:用来存放镜像的位置,类型于Maven仓库,也是镜像下载和上传到的位置。
- dockerfile:docker生成镜像配置文件,用来书写定义镜像的一些配置。
- tar:一个对镜像打包的文件,日后可以还原成镜像。