Monkey

个人站

The master has failed more times than the beginner has tried


docker基础

Docker是什么

docker 是一个开源的应用容器引擎。可以理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上

为什么使用Docker

作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势

更高效的利用系统资源

  • 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高,无论是应用执行速度,内存损耗或者文件存储速度,都要比传统虚拟机更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用

更快速的启动时间

  • 传统的虚拟机技术启动应用服务往往需要数分钟,而Docker 容器应用,由于直接运行与宿主内核,无需启动完整的操作系统,因此可以做到秒级,甚至毫秒级的启动时间,大大的节约了开发,测试,部署的时间

一致性的运行环境

  • 开发过程中的一个常见的问题是环境一致性问题,由于开发环境,测试环境,生产环境不一致,导致有些bug并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现「这段代码在我的机器上没问题啊」这类问题

持续交付和部署

  • 对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行

更轻松的迁移

  • 由于Docker 确保了执行环境的一致性,使得应用的迁移更加容易,Docker 可以在很多平台上运行,无论是物理机,虚拟机,公有云,私有云,甚至是笔记本,其运行结果是一致的。
  • 因此用户可以很容易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况

更轻松的维护和扩展

  • Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也是的应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单,此外,Docker团队同各个开源项目团队一起维护了一大批高质量的官方镜像,既可以直接在生产环境中使用,有可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本

对比传统虚拟机的区别

Docker的主要用途

提供一次性的环境

  • 如:本地测他人的软件,持续集成的时候提供单元测试和构建的环境

提供弹性的云服务

  • 因为Docker 容器可以随开随关,很适合动态扩容和缩容

组建微服务架构

  • 通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构

Docker的基本概念

镜像

  • Docker镜像就是一个只读的模版
  • 例如:一个镜像可以包含一个完整的 Ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其他应用程序
  • 镜像可以用来创建Docker容器
  • Docker 提供了一个很简单的几只来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来使用

容器

  • Docker 利用容器来运行实例
  • 容器是从镜像创建的运行实例,他可以被启动,开始,停止,删除,每隔容器都是互相隔离的,保证安全的平台
  • 可以把容器看作是一个简易版的 Linux 环境,(包括root 用户权限,进程空间,用户空间,网络空间等)和运行在其中的应用程序

仓库

  • 仓库是集中存放镜像文件的场所

    • 仓库

      • 仓库分为公开仓库和私有仓库两种形式
      • 最大的公开仓库是 Docker Hub ,存放着数量庞大的镜像供用户下载
    • 仓库注册

      • 仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦