zoukankan      html  css  js  c++  java
  • Docker 基本概念

    1、Docker 是什么?

    • Docker是一个开源的应用容器引擎,基于 GO 语言,并遵循 Apache2.0协议。
    • docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux服务器,也可以实现虚拟化。
    • 容器是完全使用沙箱机制,相互之间不会有任何接口(类iphone的app),并且容器开销极其低。

    2、Docker 优势!

    2.1、容器化越来越受到欢迎,因为容器是:
    • 灵活:即使是最复杂的应用也可以集装箱化。
    • 轻量级:容器利用并共享主机内核。
    • 可互换:您可以即时部署更新和升级。
    • 便携式:您可以在本地构建,部署到云,并在任何地方运行。
    • 可扩展:您可以增加并自动分发容器副本。
    • 可堆叠:您可以垂直和即时堆叠服务。
    2.1、镜像和容器(contalners)
    • 通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括应用程序所需要的所有内容,包含代码,运行时间间,库、环境变量和配置文件。
    • 容器是镜像的运行实例,当被运行时有镜像转台和用户进程,可以使用 docker ps 查看。
    2.2、容器和虚拟机区别
    • 容器在Linux 本机上运行,并于其他容器共享主机的内核,它运行的一个独立的进程,不占用任何其他的可执行文件的内存,十分轻量。
    • 虚拟机运行时的是一个完成的操作系统,通过虚拟机管理程序对主机资源的访问进行虚拟访问,相比之下需要的资源更多。

    3、Docker 版本

    • Docker Community Edition(CE)社区版。
    • Enterprise Edition(EE) 商业版。

    Docker 三个重要概念

    1. image 镜像

      Docker 镜像(Image)就是一个只读模板。他是一个可运行的软件(MySQL,Tomcat),也可以是一个系统(Centos),镜像可以用来创建 Docker 容器,一个容器可以创建很多个镜像。

    2. container 容器

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

    3. repository 仓库

      • 仓库是集中镜像文件的仓库,registry 是仓库的主从服务器,实际上是参考注册服务器上存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
      • 仓库分为两种,公有仓库和私有仓库,最大的公开仓库是docker Hub,存放了数量庞大的镜像供用户下周,国内的docker pool,这里仓库的概念与Git类似,registry可以理解为github这样的托管服务。

    镜像与容器的关系类似于面向对象编程中的对象和类:

    Docker 面向对象
    容器 对象
    镜像

    Docker 主要用途

    1. 简化环境搭建,提高开发生命周期效率,资源利用更出色。
    2. 自动迁移,可以制作镜像,迁移使用自定义的镜像即可迁移,不会出现什么问题,管理更加方便了。
    3. 微服务利器。
  • 相关阅读:
    java private修饰符的作用域
    debug运行下报错,但不影响运行ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2(转)
    非线程安全的HashMap 和 线程安全的ConcurrentHashMap(转载)
    【Java集合源码剖析】HashMap源码剖析(转)
    eclipse 解决乱码问题
    java替换txt文本中的字符串
    tomcat startup.bat 启动脚本(转)
    tomcat 点击startup.bat一闪而过
    tomcat 目录文件夹作用(转)
    引脚复用
  • 原文地址:https://www.cnblogs.com/leizzige/p/12182755.html
Copyright © 2011-2022 走看看