为了账号安全,请及时绑定邮箱和手机立即绑定

Docker学习笔记(基本概念)

标签:
Docker

docker

https://img1.sycdn.imooc.com//5d2ca92700010bf302900153.jpg

docker

what is docker

  • Docker是基于Go语言开发实现的,是一种对进程进行封装隔离,属于操作系统层面的虚拟化技术

  • 由于隔离的进程独立于宿主和其它隔离的进程,Docker也因此被称为容器

The discrimination between virtual machines and docker

  • 传统虚拟机技术是虚拟出一套硬件,在其运行一个完整的操作系统,然后在这个系统运行所需的应用进程

  • Docker的应用进程是直接运行为宿主的内核上,容器内没有自己的内核,更没有硬件虚拟

  • Docker容器比传统的虚拟机更为轻便


    https://img1.sycdn.imooc.com//5d2ca96d0001209906060244.jpg

    Virtual_Machines


    https://img1.sycdn.imooc.com//5d2ca9490001f37706220185.jpg

    docker

https://img1.sycdn.imooc.com//5d2ca9730001cf0d07130190.jpg

总结对比

The advantage of Docker

  • 容器不需要硬件模拟或者运行操作系统等额外开外,故相比与传统的虚拟机技术,一个相同配置的主机,可以运行更多数量的容器

  • 容器直接运行于宿主内核,无需启动完整的操作系统,因此可以做到毫秒级的启动

  • 容器可以提供一致的开发环境

  • 使用容器可以定制镜像来实现持续集成,交付和部署

Docker Image

  • Docker镜像(Image),就相当于是一个root文件系统

  • 镜像使用的是分层存储

例如:官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu 16.04 最小系统的 root 文件系统

Docker Container

  • 镜像(Image)和容器(Container)的关系,就相当于面向对象程序设计的实例一样

  • 镜像是静态的定义

  • 容器是镜像运行时的实体

  • 容器可以被创建,启动,停止,删除,暂停等等

  • 容器是一个运行在隔离环境下的进程,与其它进程不同的是,容器可以拥有只属于自己的root文件系统,自己的网络配置,自己的进程空间以及自己的ID空间等等

  • 如同镜像一样,容器也是使用分层存储,每一个容器运行时,以镜像为基础层,在其上创建一个当前容器的存储层,可称为容器运行时而准备的存储层,又称容器存储层

  • 容器消亡时,容器存储层也随之消亡,故,容器不应向存储层写入任何数据需保持无状态化

  • 所以的文件写入操作,都应该使用数据卷,或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主或者网络存储发生读写

  • 容器消亡,数据卷不会消亡,使用数据卷后,容器删除或者重新运行之后,数据不会丢失

Docker Register

  • 一个 Docker Registry 中可以包含多个仓库(Repository)

  • 每个仓库可以包含多个标签(Tag),每个标签对应一个镜像,如版本标签,如果忽略标签,则使用latest作为默认标签

  • Docker Hub

  • 阿里云加速器



作者:wtbook
链接:https://www.jianshu.com/p/cab6d5d1b972


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消