基本概念

Docker是一个用于构建(build)、运行(run)、传送(share)应用程序的平台。有了Docker就可以将应用程序和它运行时所需要的各种依赖包、第三方软件库、配置文件等打包在一起,以便在任何环境都可以正确运行。

为什么使用Docker

未使用Docker时,浪费大量的时间在配置环境上

使用Docker后,可以将配置步骤打包,只要在开发环境中运行成功,测试环境也是可以成功运行的。

Docker和虚拟机的区别

虚拟机

虚拟机的实现是基于虚拟化技术,它是一种将物理资源虚拟成多个逻辑资源的技术。它可以将一台物理服务器虚拟成多个虚拟化服务器。每个逻辑服务器都可以有自己的操作系统、CPU、内存、硬盘和网络接口等等,可以独立运行。不过缺点明显,若我们只需要Web服务器,但是虚拟机却需要启动一个完整的系统,包括系统的内核、各种工具甚至图形界面等等,这会导致资源浪费和启动速度慢的问题。

Docker

Docker和容器是两种不同的概念,其实Docker只是容器的一种实现,是一种容器化的解决方案和平台,而容器是一种虚拟化技术和虚拟机类似,也是一种独立的环境,可以在这个环境运行应用程序。和虚拟机不同的是它并不需要再容器中运行一个完整的操作系统,而是使用宿主的操作系统所以启动速度非常快。同时因为需要的资源更少,所以可以在一台服务器上运行更多的容器。比如说一台服务器上只能运行几个虚拟机,不过却可以运行上百个容器,这就是最主要的区别。

基本原理和概念

  • 镜像是一个只读的模板,它可以用来创建容器

  • 容器是Docker的运行实例,它提供了一个独立的可移植的环境,可以在这个运行环境中运行应用程序。

  • 仓库是用来存镜像的地方,最流行和最常用的仓库就是Dockerhub。通过仓库实现镜像的共享和复用。

镜像和容器的关系就像类和对象的关系,一个镜像可以对应多个容器。

视频链接