Docker 的优点和注意事项


Docker 从 2013 年发展到现在,它的普及率已经可以和最常用的 MySQL 和 Redis 并驾齐驱了,Docker 是什么?它有什么优点?

1)什么是 Docker ?

Docker 是一个开源(开放源代码)的应用容器引擎,可以方便地对容器进行管理。可通过 Docker 打包各种环境应用配置,比如安装 JDK 环境、发布自己的 Java 程序等,然后再把它发布到任意 Linux 机器上。

Docker 中有三个重要的概念,具体如下:

  • 镜像(Image):一个特殊的文件操作系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等), 镜像不包含任何动态数据,其内容在构建之后也不会被改变。
  • 容器(Container):它是用来运行镜像的。例如,我们拉取了一个 MySQL 镜像之后,只有通过创建并启动 MySQL 容器才能正常的运行 MySQL,容器可以进行创建、启动、停止、删除、暂停等操作。
  • 仓库(Repository):用来存放镜像文件的地方,我们可以把自己制作的镜像上传到仓库中,Docker 官方维护了一个公共仓库 Docker Hub,你也可以点击这里查询并下载所有的公共镜像
    在这里插入图片描述
    在 Docker 出现之前,我们如果要发布自己的 Java 程序,就需要在服务器上安装 JDK(或者 JRE)、Tomcat 容器,然后配置 Tomcat 参数,对 JVM 参数进行调优等操作。然而如果要在多台服务器上运行 Java 程序,则需要将同样繁杂的步骤在每台服务器都重复执行一遍,这样显然比较耗时且笨拙的。

后来有了虚拟机的技术,我们就可以将配置环境打包到一个虚拟机镜像中,然后在需要的服务器上装载这些虚拟机,从而实现了运行环境的复制,但虚拟机会占用很多的系统资源,比如内存资源和硬盘资源等,并且虚拟机的运行需要加载整个操作系统,这样就会浪费掉好几百兆的内存资源,最重要的是因为它需要加载整个操作系统所以它的运行速度就很慢,并且还包含了一些我们用不到的冗余功能。

因为虚拟机的这些缺点,所以在后来就有了 Linux 容器(Linux Containers,LXC),它是一种进程级别的 Linux 容器,用它可以模拟一个完整的操作系统。相比于虚拟机来说,Linux 容器所占用的系统资源更少,启动速度也更快,因为它本质上是一个进程而非真实的操作系统,因此它的启动速度就比较快。

而 Docker 则是对 Linux 容器的一种封装,并提供了更加方便地使用接口,所以 Docker 一经推出就迅速流行起来。Docker 和虚拟机(VM)区别如下图所示:
在这里插入图片描述
Docker 具备以下 6 个优点:

  • 轻量级:Docker 容器主要利用并共享主机内核,它并不是完整的操作系统,因此它更加轻量化;
  • 灵活:它可以将复杂的应用程序容器化,因此它非常灵活和方便;
  • 可移植:可以在本地构建 Docker 容器,并把它部署到云服务器或任何地方进行使用;
  • 相互隔离,方便升级:容器是高度自给自足并相互隔离的容器,这样就可以在不影响其他容器的情况下更换或升级你的 Docker 容器了;
  • 可扩展:可以在数据中心内增加并自动分发容器副本;
  • 安全:Docker 容器可以很好地约束和隔离应用程序,并且无须用户做任何配置。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值