码迷,mamicode.com
首页 > 其他好文 > 详细

Docker容器技术入门

时间:2018-08-03 21:21:12      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:images   sys   优势   ima   容器   没有   text   epo   镜像   

  • 拟化与容器

  •     虚拟化

            主机级虚拟化

                Type-I

                Type-II

            容器级虚拟化

                FreeBSD jail, 2000

                Linux VServer, 2001

        KVM and container      

              虚拟化使得许多操作系统可同时在单个系统上运行。

              容器则可共享同一个操作系统内核,将应用进程与系统其他部分隔离开。

        KVM and lxc Architecture

        技术分享图片

    • LXC Linux Container

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

        技术分享图片


    • 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:镜像

            在Docker主机本地存储

        Registries:镜像仓库

            从Docker hub获取,站点:https://hub.docker.com/      

            Docker Registries有两重功能

                1、提供镜像存储的仓库

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

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

        镜像与容器关系:

            镜像:静态

            容器:动态

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

    • Docker objects

        images

        containers

        networks

        volumes

        plugins

    Docker容器技术入门

    标签:images   sys   优势   ima   容器   没有   text   epo   镜像   

    原文地址:http://blog.51cto.com/10461810/2154267

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!