设为首页 收藏本站
查看: 1232|回复: 0

[经验分享] Docker容器技术入门

[复制链接]

尚未签到

发表于 2019-2-21 09:20:54 | 显示全部楼层 |阅读模式

  •   拟化与容器
      虚拟化
          主机级虚拟化
              Type-I

              Type-II

          容器级虚拟化

              FreeBSD jail, 2000
              Linux VServer, 2001
      KVM and container      
              虚拟化使得许多操作系统可同时在单个系统上运行。
              容器则可共享同一个操作系统内核,将应用进程与系统其他部分隔离开。
  KVM and lxc Architecture
DSC0000.png


  •   LXC Linux Container
      Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。
      DSC0001.png
  


  •   Linux Namespaces 名称空间
      用户名称空间的改进推动了容器的进一步发展。用户名称空间“使得用户和组 ID 可以按名称空间进行映射。对于容器而言,这意味着用户和组可以在容器内部拥有执行某些操作的特权,而在容器外部则没有这种特权。
  
      Namespaces
          UTS namespaces:主机名与域名
          Mount namespaces:挂载点
          IPC namespaces:信号量、消息队列和共享内存
          PID namespaces:进程号
          Network namespaces:网络设备、网络栈、端口等
          User namespaces:用户和组
      
  •   Control Groups(cgroups) 控制组
      控制组 (cgroups) 是一项内核功能,能够控制和限制一个进程或多组进程的资源使用。而 systemd 初始化系统可设置用户空间,并且管理它们的进程,cgroups 使用该系统来更严密地控制这些隔离进程。
      cgroups
          blkio:块设备IO

          cpu:CPU

          cpuacct:CPU资源使用报告

          cpuset:多处理器平台上的CPU集合

          devices:设备访问

          freezer:挂起或恢复任务

          memory:内存用量及报告

          perf_event:对cgroup中的任务进行统一性能测试
          net_cls:cgroup中的任务创建的数据报文的类别标识符


  •   Docker
  
      早期版本:LXC ---> LXC的二次发行版
      一个容器中只运行一个进程;镜像构建:分层构建,联合挂载
      进程终止容器也可删除,容器有生命周期。与宿主机没有密切关联关系
      容器编排工具:Machine+Swarm+Compose

                    ASF:Mesos+marathon
        kubernetes:k8s

      Docker后来自建了容器引擎:---> libcontainer ---> runC

      Docker ---> Moby

      Docker容器的优势

          模块化

          层和镜像版本控制

          回滚

          快速部署

  

  •   参考文档:https://www.redhat.com/zh/topics/containers/whats-a-linux-container
  •   Docker Architecture
      C/S架构的应用程序
     
      Containers:容器

      Images:镜像

          存储镜像要使用特殊的文件系统,1.18版本默认使用的是:overlay2文件系统

          在Docker主机本地存储

      Registries:镜像仓库

          从Docker hub获取,站点:https://hub.docker.com/      
          Docker Registries有两重功能

              1、提供镜像存储的仓库

              2、用户来获取镜像的认证,当前服务器上所有可用镜像的搜索功能等

              repository ---> repo 一个仓库只放一个应用程序镜像;可以放同一程序的不同版本,仓库名+标签来唯一标识一个镜像;一个镜像可有多个标签(tag),不给标签名默认使用latest最新版。
      镜像与容器关系:

          镜像:静态

          容器:动态

      镜像与容器的关系就是程序与进程的关系;镜像是静态的,不会运行。容器则是动态的,它有生命周期。


  •   Docker objects
      images

      containers

      networks

      volumes

      plugins





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675153-1-1.html 上篇帖子: Docker安装使用 下篇帖子: Docker安装和基本操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表