docker|docker的简单描述

docker|docker的简单描述

文章图片



1.什么是dockerWe have a complete container solution for you - no matter who you are and where you are on your containerization journey.
翻译: 我们为你提供了一个完整的容器解决方案不管你是谁不管你在哪你都可以开始容器的的旅程 。
官方定义: docker是一个容器技术 。
2.docker的优势
(1)一致的运行环境 , 更轻松迁移
这里我们拿java Web应用程序举例 , 我们一个java Web应用程序涉及很多东西 , 比如jdk、tomcat、mysql等软件环境 。 当这些其中某一项版本不一致的时候 , 可能就会导致应用程序跑不起来这种情况 。 Docker则将程序以及使用软件环境直接打包在一起 , 无论在那个机器上保证了环境一致 。
常见的问题:在开发的时候 , 在本机测试环境可以跑 , 生产环境跑不起来
(2)对进程进行封装隔离容器与容器之间互不影响更高效的利用系统资源 。 ------->容器与容器之间是进程级别的隔离 。
如果你的程序重要性不是特别高的话 , 公司基本上不可能让你的程序独享一台服务器的 , 这时候你的服务器就会跟公司其他人的程序共享一台服务器 , 所以不可避免地就会受到其他程序的干扰 , 导致自己的程序出现问题 。 Docker就很好解决了环境隔离的问题 , 别人程序不会影响到自己的程序 。
(3)通过镜像复制N多个环境一致容器 。 让同一个项目能够轻松在多台服务器里进行部署
在没有Docker的情况下 , 要在几天内部署几十台服务器 , 这对运维来说是一件非常折磨人的事 , 而且每台服务器的环境还不一定一样 , 就会出现各种问题 , 最后部署地头皮发麻 。 用Docker的话 , 我只需要将程序打包到镜像 , 你要多少台服务 , 我就给力跑多少容器 , 极大地提高了部署效率 。
3.docker和虚拟机区别
Docker是不携带操作系统的 , 所以Docker的应用就非常的轻巧 。 另外在调用宿主机的CPU、磁盘等等这些资源的时候 , 拿内存举例 , 虚拟机是利用Hypervisor去虚拟化内存 , 整个调用过程是虚拟内存->虚拟物理内存->真正物理内存 , 但是Docker是利用Docker Engine去调用宿主的的资源 , 这时候过程是虚拟内存->真正物理内存 。
【docker|docker的简单描述】