zoukankan      html  css  js  c++  java
  • Docker学习笔记【一】

    【本篇学习笔记来源于 Docker 从入门到实践

    1.什么事Docker?【What】

    Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等,极大的简化了容器的创建和维护。从而让Docker技术比虚拟机技术更为轻便、快捷。

    2.Docker和传统虚拟化方式的不同。

    传统虚拟机技术是虚拟一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行与宿主的内核,容器中没有自己的内核,而且没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

    3.为什么要使用Docker?【Why】

    • 更高效的利用系统资源
    • 更快速的启动时间
    • 一致的运行环境
    • 持续交付和部署
    • 更轻松的迁移
    • 更轻松的维护和扩展

    对比传统虚拟机总结

    4.基本概念

    Docker中包含三个基本概念:镜像(Image)、容器(Container)和仓库(Repository)。

    Docker镜像是一个特殊的文件系统,除了提供容器运行时需要的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。镜像不包含任何动态数据,其内容在构建后不会被改变。

    Docker采用了Union FS 的技术,将其设计为分层存储的架构。

    Docker容器。镜像和容器的关系,就像是面向对象程序设计中的类和实例一样。镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除和暂停等。

    容器跟镜像一样,每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,容器存储层的生存周期和容器一样,容器消亡是,容器存储层也随之消亡。即,任何保存于容器存储层的信息都会随容器删除而丢失。

    按照Docker最佳时间的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷,或绑定宿主目录,这样会跳过容器存储层,直接对宿主发生读写,其性能和稳定性更高。

    因为,数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此,使用数据卷后,容器删除或重新运行之后,数据不会丢失。

    镜像构建完成后,很容易在当前的宿主机上运行,如果需要在其他服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,DockerRegister。

    一个DockerRegister中包含多个仓库,每个仓库可以包含多个标签,每个标签对应一个镜像。

  • 相关阅读:
    sonarqube添加C和C++语言
    sonarqube代码质量分析神器安装和使用
    sonarqube8.8汉化教程
    sonarqube代码分析平台踩坑指南
    解决Windows下PowerShell无法进入Python虚拟环境
    人工智能识别图片入门
    Python深拷贝和浅拷贝解读
    白嫖微软Azure12个月服务器
    Jmeter分布式压测
    Python+Appium实现自动抢微信红包
  • 原文地址:https://www.cnblogs.com/zacky31/p/8854841.html
Copyright © 2011-2022 走看看