Docker学习一: 基本概念

特别声明:

  博文主要是学习过程中的知识整理,以便之后的查阅回顾。部分内容来源于网络(如有摘录未标注请指出)。内容如有差错,也欢迎指正!

=============系列文章=============

1. Docker学习一: 基本概念

=================================

Docker简介(容器化技术)

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

  Docker与传统虚拟化方式的不同之处:传统虚拟技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在改操作系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。对比图:

传统方式:

Docker:

  使用Docker的优势:

    1. 更高效的利用系统资源:不需要硬件虚拟以及运行完整操作系统等额外开销

    2. 更快速的启动时间:直接运行于宿主内核,无需启动完整的操作系统

    3. 一致的运行环境:Docker镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性

    4. 持续交付和部署

    5. 更轻松的迁移

    6. 更轻松的维护和扩展:使用分层存储以及镜像技术,应用重复部分的复用更容易

  对比总结:

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

Docker的基本概念

  一、镜像(Image): 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

  分层存储:Docker设计时,就充分利用Union FS技术,将其设计为分层存储的架构。严格来说,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。

  镜像构建:一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。

 

  二、容器(Container):容器可以理解为镜像的实例(如类和实例的关系),镜像是静态的定义,容器是镜像运行时的实体。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID空间。

  容器运行以镜像为基础层,在其上创建一个当前容器的存储层,这个为容器运行时读写而准备的存储层可以称为容器存储层。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。

  Docker最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。文件的写入操作需要使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器的存储层,直接对宿主发生读写。

  三、仓库(Repository):集中存储、分发镜像的服务。一个Docker Repository中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);在仓库中每个标签对应一个镜像。<仓库名>:<标签>的格式来执行具体的镜像,若不给出标签,将以latest作为默认标签。

  Registry公开服务默认是官方Docker Hub

Docker在各个系统上的安装

  百度..............

Docker加速镜像配置

  申请加速器:Docker官方提供的中registry mirror、阿里云加速器、DaoCloud加速器

  upstart系统:

    1. /编辑 /etc/default/docker文件,DOCKER_OPTS中添加 --registry-mirror=<加速器地址>

    2. sudo service docker restart

  systemd系统:

    1. 启动服务后,编辑/etc/systemd/system/multi-user.target.wants/docker.service文件,ExecStart=这行最后添加极速器地址 --registry-mirror=<加速器地址>

    2. sudo systemctl deamon-reload, sudo systemctl restart docker

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

参考:《docker_practice》

原文地址:https://www.cnblogs.com/konrad/p/7746041.html

时间: 2024-11-05 22:56:39

Docker学习一: 基本概念的相关文章

docker学习(1)----基础概念

转载请注明源文章出处:http://www.cnblogs.com/lighten/p/6841677.html 1.前言 docker的官网:这里.下一段摘自官网描述. docker是世界领先的软件容器平台.开发人员使用docker可以消除与同事的代码协作时产生的"在我机器上运行是正常的"等问题.运营商使用docker在独立的容器中运行和管理应用程序,以获得更好的计算密度.企业使用docker构建灵活的软件传送通道,可以更快,更安全地运行新功能,并且对于Linux和Windows S

Docker学习__基本概念

其他知识点,会在后续学习过程中在做完善. docker分为两个版本: docker-ee 企业版(付费) docker-ce 社区版(开源免费) docker架构(docker architecture)分为3个部分: docker的客户端(client) docker的服务端(server) docker的守护进程(daemon) docker的容器(container) docker的镜像(image) docker的镜像仓库(registry) 不论是Client端还是Server端,都是

Docker 学习笔记【1】Docker 相关概念,基本操作

计划:Docker 学习笔记[2] Docker 基础操作实操记录,Docker仓库.数据卷,网络基础学习---40 注:所有操作在root下执行 --1--概念: 1.Docker镜像: 镜像就是一个只读的模板,用于创建docker容器. Docker提供了简单的机制创建或者更新现有镜像,也可以从别处拿来现成镜像直接使用. 2.Docker容器: 可以认为是精简版的linux运行环境包含 [root权限,进程空间,用户空间,网络空间等]和应用程序 另外:镜像是只读的,容器基于镜像启动后创建一层

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被

Docker学习教程笔记整合(完整)

Docker学习教程笔记整合(完整) 本文主要是整理了DockerOne组织翻译的Flux7的Docker入门教程,通过markdown记录,方便离线学习.原文地址,http://dockone.io/article/101. 文中一些链接可能会跳转国外的网站,如果没有插件或开VPN的朋友,可以尝试修改一下Hosts文件,如何修改Hosts文件.或者使用XXNet插件,如何使用XXnet 介绍 Docker是一个新的容器化的技术,它轻巧,且易移植,号称"build once, configure

个人--Docker学习笔记

Docker学习笔记 docker让应用分发,测试,部署变得前所未有的高效和轻松 docker利用率很高,一台主机上可以同时运行数千个docker容器 docker容器除了运行其中应用外,基本不消耗额外的系统资源 docker容器不需要额外的hypervisor支持,是内核级的虚拟化 docker容器几乎可以在任意平台上运行 docker的三个基本概念 镜像(image) 容器(container) 仓库(repository) 以上是docker的整个生命周期 镜像的作用是用来创建容器的.镜像

Docker学习笔记——镜像、容器、仓库

Docker三个基本概念 镜像(image) 容器(container) 仓库(Repository) 镜像(image) 搜索镜像 docker search nginx 获取镜像 docker pull nginx 指定Registry地址和具体的仓库名下载镜像,没有指定Registry地址,默认从Docker Hub上下载 docker pull jwilder/nginx-proxy 查看镜像 docker images  REPOSITORY          TAG         

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

Docker学习(六): 网络使用与配置

特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1. Docker学习(一): 基本概念 2. Docker学习(二): 镜像的使用与构建 3. Docker学习(三): Dockerfile指令介绍 4. Docker学习(四): 操作容器 5. Docker学习(五): 仓库与数据管理 6. Docker学习(六): 网络使用与配置 =====