https://www.coonote.com/docker/docker-tutorial.html
https://vuepress.mirror.docker-practice.com/
文档

1.什么是Docker

Docker是容器技术=>是应用容器技术,容器里面运行软件环境。
对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离进程,因此也称其为容器。

2.为什么是Docker

  • 在开发的时候,在本地测试环境可以跑,生产环境跑不起起来

例如Java_web应用程序包含很有环境(jdk,msql,tomcat),当这行环境本地环境和服务服务器环境不一致时,可能导致程序跑不起来。Docker可以将程序以及程序使用的软件环境一起打包在一起,无论在哪个机器上保证了环境一致。
优势1:一致的运行环境,更轻松的迁移。

  • 服务器自己的程序挂了,结果发现是别人程序出了问题把内存吃完了,自己程序因为内存不够就挂了

如果你的程序重要性不是特别高的话,公司基本不可能让你的程序独享一台服务器,这时你的程序就会和其他人的程序共享一台服务器,所以不可避免的就会受到其他程序的干扰,导致自己的程序出问题,Docker就很好的解决了环境隔离问题,别人程序不会影响自己的程序。
优势2:对进程封装隔离,容器与容器之间互不影响,更高效的利用系统资源
进程隔离:例如qq,可以开多个qq,每一个应用之间是隔离的。

  • 公司要弄一个活动,可能会有大量的流量进来,公司需要再多部署几十台服务器

在没有Docker的情况下,要在几天内部署几十台服务器,这对运维来说是一件非常折磨人的事,而且每台服务器的环境还不一定一样,就会出现各种问题,最后部署的一地鸡毛。用Docker的话,我只需要将程序打包到镜像,你要多少台服务,我就给力跑多少容器,极大地提高了部署效率。
优势3:通过镜像复制N多个环境一致容器。

3.Docker和虚拟机的区别

docker.png

4 logo

d.jpg
1、 docker官方logo 鲸鱼 ===>docker引擎==>安装docker引擎
2、鲸鱼身上的箱子,代码日后咱们通过docker启动一个一个软件环境(容器 ),容器和容器之间互不影响。
Docker

  1. # node | mongodb | nginx
  2. # Docker引擎
  3. # 操作系统OS
  4. # Server/PC 硬件

虚拟机

  1. # node | mongodb | nginx
  2. # 操作系统Centos7
  3. # VM虚拟机
  4. # 操作系统OS(window,mac OS)
  5. # Server/PC 硬件

s.png