精华内容
下载资源
问答
  • 容器技术

    2019-09-28 15:45:06
    容器技术 容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰。 容器技术的核心功能,就是通过约束...

    容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰。

    容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造一个边界。

    对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而Namespace 技术则是用来修改进程视图的主要方法。

     

    Namespace

    除了我们刚刚用到的 PID Namespace,Linux操作系统还提供了 Mount、UTS、IPC、Network 和 User 这些 amespace,

    用来对各种不同的进程上下文进行“障眼法”操作。

     

     Cgroups:

    Linux Cgroups 就是 Linux 内核中用来为进程设置资源限制的一个重要功能。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。

    此外,Cgroups 还能够对进程进行优先级设置、审计,以及将进程挂起和恢复等操作。

    Linux Cgroups 的设计还是比较易用的,简单粗暴地理解呢,它就是一个子系统目录加上一组资源限制文件的组合。而对于 Docker 等 Linux 容器项目来说,它们只需要在每个子系统下面,为每个容器创建一个控制组(即创建一个新目录),然后在启动容器进程之后,把这个进程的 PID 填写到对应控制组的 tasks 文件中就可以了。

     

    posted on 2019-09-04 09:41 竹径风声 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/girl1314/p/11457114.html

    展开全文
  • Docker 容器技术

    千次阅读 2020-09-20 12:51:28
    Docker容器技术 概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会...

    Docker容器技术

    概念

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    组成部分

    1. dockerClient客户端
    2. Docker Daemon守护进程
    3. Docker Image镜像
    4. DockerContainer容器

    安装

    1. 环境准备

    下载docker源

    curl  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    

    安装

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    # 显示版本
    yum list docker-ce.x86_64 --showduplicates | sort -r
    yum install -y --setopt=obsoletes=0 \
                docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
                docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
    # 刷新配置
    systemctl daemon-reload
    
    # 重启
    systemctl restart docker
    

    MacOS Docker 安装

    如果没有安装brew 首先先安装brew

    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
    
    brew cask install docker
    

    2.配置镜像加速

    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
        {
          "registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"]
        }
        EOF    
    systemctl restart docker
    
    1. 使用

    pull 常用镜像

    docker pull centos:6.9
    docker pull centos:7.5.1804
    docker pull nginx
    # 查看本地镜像
    docker images
    # 启用镜像
    docker exec -it mysql bash
    

    安装mysql

    
    # 拉取
    docker pull mysql:5.7
    
    # 运行容器
    docker run -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7
    
    """
    --name mysql 创建的容器名称
    -e MYSQL_ROOT_PASSWORD=root 使用root作为root账号的密码
    -p 3306:3306 容器的3306端口映射到宿主机器
    -d 后台运行容器
    mysql:5.7 镜像名称
    """
    
    # 进入mysql容器
    docker exec -it mysql bash 或者 docker exec -it f653f4ae3f48 mysql -uroot -pxzwz0502
    
    # 登录
    mysql -u -p
    
    

    修改mysql配置文件

    # 找到要修改的镜像
    docker ps
    
    # 进入要修改的镜像
    docker exec -it 容器ID /bin/bash
    
    # 进入要修改的文件目录
    cd /etc/mysql
    
    # 修改配置文件
    vi my.cnf
    
    # 如果不安装vim在使用vim的时候会报找不到,在修改docker中mysql的配置文件,无法使用vi命令
    
    apt-get update
    apt-get install vim
    
    
    # 如果要退出bash有2种操作:1)Ctrl + d 退出并停止容器;2)Ctrl + p + q 退出并在后台运行容器;
    
    # 重启docker容器
    docker restart 容器ID
    

    连接mysql

    
    # 进行授权报错
    """
    Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50560, now running 50725. Please use mysql_upgrade to fix this error.
    错误是由于你曾经升级过数据库,升级完后没有使用,mysql_upgrade升级数据结构造成的。
    """
    
    mysql_upgrade -u root -p123456
    
    
    # 进行授权
    1、进入mysql
    2、GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库
    3、FLUSH PRIVILEGES; //需要输入次命令使修改生效
    
    # 如果无法连接,考虑防火墙,比如阿里云需要进行设置防火墙规则
    
    

    安装redis

    # 安装
    docker pull redis
    
    # 运行容器
    docker run -p 6379:6379 -v $PWD/data:/data  -d redis redis-server --appendonly yes
    
    """
    命令说明:
    
    -p 6379:6379 : 将容器的6379端口映射到主机的6379端口
    
    -v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
    
    redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
    """
    
    # 进入redis容器
    docker exec -it CONTAINER_ID redis-cli
    

    安装mongo

    # 安装
    docker pull mongo
    
    # 运行容器
    docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo
    """
    -p 27017:27017 :将容器的27017 端口映射到主机的27017 端口
    
    -v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录
    """
    
    # 运行mongo
    docker run -it mongo mongo --host IP
    

    删除images

    # 删除images需要images和container都删除
    """
    images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。
    docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。
    """
    
    # 删除container
    docker rm ID
    
    # 删除images
    docker rmi ID
    
    如果在运行需要通过stop停止
    
    展开全文
  • 近年来,容器技术及相关应用得到了国内外越来越多的关注度,研发和应用推广发展势头迅猛。在国外,容器技术已经形成了较成熟的生态圈;在国内,金融企业、互联网企业、IT企业积极投入容器技术研发和应用推广,发展...

    内容摘要

    近年来,容器技术及相关应用得到了国内外越来越多的关注度,研发和应用推广发展势头迅猛。在国外,容器技术已经形成了较成熟的生态圈;在国内,金融企业、互联网企业、IT企业积极投入容器技术研发和应用推广,发展势头迅猛。为了积极引导我国容器技术和应用发展,我们编写本白皮书。其主要内容包括:

    • 一、针对容器技术现状进行研究和分析。一是梳理了容器技术从开始到现在的发展历程,对现有容器发展的生态结构进行分析,其中包括开源社区、产业联盟、解决方案厂商等;二是对容器技术框架进行了详细的描述,对技术框架各层涉及的技术点进行了介绍;三是结合已发布的国家和国际标准,将现有容器技术对于参考架构的实现情况进行分析;四是分析了容器技术与大数据、物联网、SDN之间的关系。
    • 二、容器技术发展路线及技术架构。通过列举容器技术典型4个应用场景,包括PaaS平台建设、软件定义数据中心、容器即服务、持续集成和发布等,分析了容器技术在各种场景下的关键成功因素。
    • 三、容器未来发展趋势。结合容器发展现状和应用场景应用情况,分析了容器技术在应用过程中面临的问题,同时提出了容器今后发展的生态图,对未来容器技术发展进行了展望。

    一、概述

    1.1 背景

    继虚拟化技术出现后,容器技术逐渐成为对云计算领域具有深远影响的变革技术。容器技术的发展和应用,将为各行业应用云计算提供了新思路,同时容器技术也将对云计算的交付方式、效率、PaaS平台的构建等方面产生深远的影响,具体体现在以下几个方面:

    简化部署:容器技术可以将应用打包成单一地址访问的、Registry存储的、
    仅通过一行命令就可以部署完成的组件。不论将服务部署在哪里,容器都可以从根本上简化服务部署工作。 
    快速启动:容器技术对操作系统的资源进行再次抽象,而并非对整个物理机资源进虚拟化,通过这种方式,打包好的服务可以快速启动。 
    服务组合:采用容器的方式进行部署,整个系统会变得易于组合,通过容器技术将不同服务封装在对应的容器中,之后结合一些脚本使这些容器按照要求相互协作,这样操作不仅可以简化部署难度还可以降低操作风险。 
    易于迁移:容器技术最重要的价值就是为在不同主机上运行服务提供一个轻便的、一致的格式。容器格式的标准化加快交付体验,允许用户方便地对工作负载进行迁移,避免局限于单一的平台提供商。 
    为更好地推进容器及相关技术在中国的落地与实践,推动容器技术在国内的落地,并建立顺应国际技术发展趋势、符合中国本地化特征的容器标准体系,中国开源云联盟容器工作组开展了本白皮书的研制工作,白皮书立足于容器技术发展的演进路线图,分析容器技术在应用过程中的应用场景以及面临的具体问题和关键成功因素,描绘容器技术未来的发展趋势和方向。本白皮书的发布,旨在与业界分享我们在容器技术领域的研究成果和实践经验,呼吁社会各界共同关注容器技术的同时,共同推动容器技术的发展,提升容器技术在云计算领域中实践和服务能力。

    1.2 相关术语

    • 表1.1 术语
    术语 定义/解释
    镜像 系统文件及其应用文件以特殊的文件形式进行备份制作成单一的文件。
    微服务架构 微服务架构是一种特定的软件应用程序设计方式——将大型软件拆分为多个独立可部署服务组合而成的套件方案。
    开发运维一体化 可定义为是一种过程、方法、文化、运动或实践,主要是为了通过一条高度自动化的流水线来加强开发和其他IT职能部门之间的沟通和协作,加速软件和服务的交付。
    运行时引擎 指用户用来运行容器镜像的软件系统

    1.3 缩略语

    • 表1.2 缩略语
    术语 解释
    CI/CD Continuous Integration/Continuous Delivery,持续集成和持续交付
    CaaS Container as a Service ,容器即服务
    CCRA Cloud Computing Reference Architecture,云计算参考架构
    CLI command-line interface,命令行界面
    DC/OS DataCenter Operating System,数据中西操作系统
    DevOps Development and Operations,开发运维一体化
    DNS Domain Name System,域名系统
    IaaS Infrastructure as a Service,基础设施即服务
    PaaS Platform as a Service,平台即服务
    SaaS Software as a Service,软件即服务
    SDN Software Defined Network,软件定义网络
    LXC Linux Container,Linux容器
    OCI Open Container Initiative,开放容器组织
    VPS Virtual Private Server,虚拟机专有服务
    VM Virtual Machine,虚拟机

    二、容器技术现状

    2.1 容器技术发展演进路径

    • 图2.1 容器技术演变路径

    这里写图片描述

    容器技术最早可以追溯到1979年UNIX系统中的chroot,最初是为了方便切换root目录,为每个进程提供了文件系统资源的隔离,这也是OS虚拟化思想的起源。2000年,BSD吸收并改进了chroot技术,发布了FreeBSD Jails。FreeBSD Jails除文件系统隔离,还添加了用户和网络资源等的隔离,每个Jail还能分配一个独立IP,进行一些相对独立的软件安装和配置。2001年,Linux发布了Linux Vserver,Linux VServer依旧是延续了Jails的思想,在一个操作系统上隔离文件系统、CPU时间、网络地址和内存等资源,每一个分区都被称为一个 security context,内部的虚拟化系统被称为VPS。2004年原SUN公司发布了Solaris Containers,Solaris Containers作为Solaris 10中的特性发布的,包含了系统资源控制和zones提供的二进制隔离,Zones 作为在操作系统实例内一个完全隔离的虚拟服务器存在。2005 年SWsoft公司发布了OpenVZ,OpenVZ和Solaris Containers非常类似,通过打了补丁的 Linux 内核来提供虚拟化、隔离、资源管理和检查点。OpenVZ 标志着内核级别的虚拟化真正成为主流,之后不断有相关的技术被加入内核。2006 年Google 发布了 Process Containers,Process Container 记录和隔离每个进程的资源使用(包括CPU、内存、硬盘I/O、网络等),后改名为cgroups(Control Groups),并在2007年被加入Linux内核2.6.24版本中。2008年出现了第一个比较完善的LXC容器技术,基于已经被加入内核的cgroups和Linux namespaces 实现。不需要打补丁,LXC就能运行在任意vanila内核的Linux上。2011年,CloudFoundry发布了Warden,和LXC不同,Warden可以工作在任何操作系统上,作为守护进程运行,还提供了管理容器的API。2013年Google公司建立了开源的容器技术栈lmctfy,Google开启这个项目是为了通过容器实现高性能,高资源利用率,同时接近零开销的虚拟化技术。目前 Kubernetes 中的监控工具 cAdvisor就起源于lmctfy项目,2015年Google将lmctfy的核心技术贡献给了 libcontainer。2013年Docker诞生,Docker最早是dotCloud(Docker公司的前身,是一家PaaS公司)内部的项目,和Warden类似,Docker最初也用了LXC,后来才自己写了 libcontainer 替换了 LXC。和其它容器技术不同的是,Docker 围绕容器构建了一套完整的生态,包括容器镜像标准、容器Registry、REST API、CLI、容器集群管理工具Docker Swarm等;2014年CoreOS创建了rkt,为了改进Docker在安全方面的缺陷,重写的一个容器引擎,相关容器工具产品包括:服务发现工具etcd和网络工具flannel等。2016年微软公司发布基于Windows 的容器技术Hyper-V Container,Hyper-V Container原理和Linux下的容器技术类似,可以保证在某个容器里运行的进程与外界是隔离的,兼顾虚拟机的安全性和容器的轻量级。

    2.2 容器技术发展生态

    随着容器技术的演进,越来越多的机构开始重视并参与到容器技术的探索中来。从最初的以Unix或Linux项目到开源社区,到各种类型的容器技术创业公司、IT 企业及产业联盟,容器技术的发展生态也在逐渐得到发展与丰富。在开源社区方面,附录A中列出了国际上的OCI和CNCF(Cloud Native Computing Foundation,简称CNCF,下同),容器的开源项目也在附录B中列出;在国内的IT 企业和创业公司方面,还提供了多个行业应用案例,这些行业应用案例在附录 D 中列出;产业联盟方面包括国际包括 CNCF,国内包括中国开源云联盟(COSCL)。容器的开源社区、创业公司、IT 企业、产业联盟共同构成容器技术发展的生态圈。

    2.3 容器技术框架

    通过研究、梳理和分析现有的容器技术,形成容器相关技术的技术架构,如图2.2所示。

    这里写图片描述
    图2.2 容器技术框架

    2.3.1 服务器层

    当运行容器镜像时,容器本身需要运行在传统操作系统之上,而这个操作系统既可以是基于物理机,也可以是基于 VM。服务器层包含了这两种场景,泛指了容器运行的环境,同时容器并不关心服务器层如何提供和管理,它的期望只是能获得这些服务器资源。

    2.3.2 资源管理层

    资源管理包含了服务器、操作系统等资源的管理。其中如果是物理服务器的话,需要涉及物理机管理系统(例如Rocks等);如果是虚拟机的话,需要使用虚拟化平台。此外,无论是物理服务器还是虚拟机,都需要对其中的操作系统加以管理(例如:Chef、Puppet、Ansible和SaltStack等)。而传统的存储和网络管理也包含在资源管理层。由于存储,网络两者选择众多,不一而足,因此不再列举。

    总而言之,资源管理层的核心目标是对服务器和操作系统资源进行管理,以支持上层的容器运行引擎。

    2.3.3 运行引擎层

    容器运行引擎层主要指常见的容器系统,包括 Docker、rkt、Hyper、CRI-O。这些容器系统的共通作用包括启动容器镜像、运行容器应用和管理容器实例。运行引擎又可以分为管理程序和运行时环境两个模块。 需要注意的是,运行引擎是单机程序,类似虚拟化软件的KVM和Xen,不是集群分布式系统。引擎运行于服务器操作系统之上,接受上层集群系统的管理。
    相关开源项目包括:
    ——资源隔离:Cgroup、Hypervisor;
    ——访问限制:Namespace、Hypervisor;
    ——管理程序:Docker Engine、OCID、hyperd,RKT、CRI-O;
    ——运行时环境:runC(Docker)、runV(Hyper)、runZ (Solaris)

    2.3.4 集群管理层

    可以把容器的集群管理系统类和针对 VM 的集群管理系统划等号,都是通过对一组服务器运行分布式应用。而这两者的细微区别在于,VM 的集群管理系统需要运行在物理服务器上,而容器集群管理系统既可以运行在物理服务器上,也可以运行在 VM 上。 常见的容器集群管理系统包括:Kubernetes、Docker Swarm、Mesos。这三者各有特色,但随着时间推移,三者的融合将越发明显。Kubernetes 在这三者中比较特殊,它的地位更接近 OpenStack。围绕这 Kubernetes,CNCF 基金会已经建立了一个非常强大的生态体系,这是Docker Swarm和Mesos都不具备的。而CNCF基金会本身也正向着容器界的OpenStack基金会发展,值得大家重点关注。
    集群管理层涉及到的相关开源软件项目包括:
    ——指挥调度:Docker Swarm、Kubernetes、Mesos等
    ——服务发现:Etcd、Consul、Zookeeper,DNS
    ——监控:Prometheous
    ——存储:Flocker
    ——网络:Calico、Weave、Flannel

    2.3.5 应用层

    泛指所有运行于容器之上的应用程序,以及所需的辅助系统,包括:监控、日志、安全、编排、镜像仓库等等。
    ——监控模块,相关开源项目包括:Prometheous、cAdvisor、Sysdig等;
    ——日志,相关开源项目包括:Fluented、LogStash等;
    ——安全,包括容器镜像的安全扫描,运行环境的安全隔离,集群环境的安全管理等功能;
    ——编排,相关开源项目包括:Docker Compose、CoreOS Fleet等;
    ——CI/CD,相关开源项目包括:Jenkins、Buildbot、Gitlab CI、Drone.io;
    ——镜像仓库:Docker Hub、VMware Harbor、Huawei Dockyard。

    2.4 容器技术对参考架构的实现情况

    国家标准GB/T 32399-2015《信息技术 云计算 参考架构》(简称CCRA,修改采用ISO/IEC 17789)是2015年发布的国家标准,描述了云计算的利益相关者,云计算系统的基本特征,云计算的基本活动和功能组件,我国是该国际标准的立项推动国之一,积极参与了该国际标准的编制,该标准的诞生标志着国际三大标准化组织ISO、IEC和ITU首次在云计算领域统一认识并达成一致,是国际国内云计算领域的最重要的基础性标准。在该标准中描述了云计算的功能架构,功能架构包含了支撑云计算活动所需的功能,如图2.3。图中标蓝色的部分是现有容器技术已经实现的内容。

    这里写图片描述
    图2.3 CCRA功能组件图

    2.5 容器技术的关键技术内容

    2.5.1 镜像

    容器的镜像通常包括操作系统文件、应用本身的文件、应用所依赖的软件包和库文件。为了提高容器镜像的管理效率,容器的镜像采用分层的形式存放。容器的镜像最底层通常是Linux的rootfs和系统文件,再往上则是各种软件包层。这些文件层在叠加后成为完整的只读文件系统,最终挂载到容器里面。在运行过程中,容器应用往往需要写入文件数据,容器引擎为此需再创建一个可写层,加在镜像的只读文件系统上面。使用分层的容器镜像之后,镜像的下载和传输更加便利,因为只需要在宿主机上把缺少的镜像文件层次下载即可,无需整个镜像传送。

    在Linux中,联合文件系统UnionFS能够把多个文件层叠加在一起,并透明地展现成一个完整的文件系统。常见的联合文件系统有AUFS(AnotherUnion File System),btrfs,OverlayFS和DeviceMapper等。

    2.5.2 运行时引擎

    容器运行时引擎和容器镜像两者的关系类似于虚拟化软件和虚拟机镜像的关系。容器运行时引擎的技术标准主要是由OCI基金会领导社区进行制定。目前OCI已经发布了容器运行时引擎的技术规范,并认可了runC(Docker公司提供)和runV(Hyper公司提供)两种合规的运行引擎。

    2.5.3 容器编排

    容器编排工具通过对容器服务的编排,决定容器服务之间如何进行交互。容器编排工具一般要处理以下几方面的内容:
    1) 、容器的启动。选择启动的机器、镜像和启动参数等;
    2) 、容器的应用部署。提供方法对应用进行部署;
    3) 、容器应用的在线升级。提供方法可以平滑地切换到应用新版本。
    容器的编排一般是通过描述性语言YAML或者JSON来定义编排的内容。目前主要的编排工具有Docker compose和基于Google的Kubernetes helm等。

    2.5.4 容器集群

    容器集群是将多台物理机抽象为逻辑上单一调度实体的技术,为容器化的应用提供资源调度、服务发现、弹性伸缩、负载均衡等功能,同时监控和管理整个服务器集群,提供高质量、不间断的应用服务。容器集群主要包含以下技术:
    资源调度:主要以集中化的方式管理和调度资源,按需为容器提供 CPU、内存等资源;

    服务发现:通过全局可访问的注册中心实现任何一个应用能够获取当前环境的细节,自动加入到当前的应用集群中;

    弹性伸缩:在资源层面,监控集群资源使用情况,自动增减主机资源;在应用层面,可通过策略自动增减应用实例来实现业务能力的弹性伸缩;

    负载均衡:当应用压力增加,集群自动扩展服务将负载均衡至每一个运行节点;当某个节点出现故障,应用实例重新部署运行到健康的节点上。

    2.5.5 服务注册和发现

    容器技术在构建自动化运维场景中,服务注册和发现是重要的两个环节,一般通过一个全局性的配置服务来实现。其基本原理类似公告牌信息发布系统,A 服务(容器应用或者普通应用)启动后在配置服务器(公告牌)上注册一些对外信息(比如IP和端口),B服务通过查询配置服务器(公告牌)来获取A注册的信息(IP和端口)。

    2.5.6 热迁移

    热迁移(Live Migration),又称为动态迁移或者实时迁移,是指将整容器的运行时状体完整保存下来,同时可以快速地在其他主机或平台上恢复运行。容器热迁移主要应用在两个方面:一是有多个操作单元执行任务,热迁移能迅速地复制与迁移容器,做到无感知运行作业;二是可以处理数据中心中集群的负载均衡,大量数据涌来无法运行计算时,可利用热迁移创建多个容器处理运算任务,调节信息数据处理峰谷,配置管理负载均衡比例,降低应用延迟。

    2.6 容器技术与相关技术的关系

    2.6.1 容器与云计算

    虚拟化是云计算的重要基础,容器定义了一套从构建到执行的标准化体系,改变了传统的虚拟化技术,深度影响了云计算领域,容器是云计算的未来。以Docker 为代表的容器技术越来越深刻地影响云计算,也改变我们的日常开发、运维和测试。相比于虚拟机,容器的轻量、快速启动和低开销,以及基于此的按业务打包和微服务模式,这些特点被用来改进 DevOps,很多场景下更适合做大规模集群管理和搭建灵活的分布式系统。通过深度整合了IaaS、PaaS 及容器技术,提供弹性计算、DevOps 工具链及微服务基础设施等服务,帮助企业解决IT、架构及运维等问题,使企业更聚焦于业务,构建了新一代的云计算生态体系。

    2.6.2 容器与大数据

    大数据平台如果能采用容器方式发布,与Spark、Hadoop、Cassandra等相关技术的集成与对接,可降低整个系统的搭建难度,缩短交付和安装周期,减少安装失败风险。容器化后,各类大数据平台组件可以轻松实现迁移的目的,也能实现多复本控制和高可用。

    2.6.3 容器与物联网

    物联网(IoT)技术发展日新月异,而容器技术刚好遇到这样的机遇,将在几个方面促进物联网的发展。

    首先,运用容器技术后,可通过容器封装,可简化下载、安装部署、启动和后续应用更新。这将大大加速物联网应用开发部署。其次,容器技术还可以满足物联网在自动监控,集中式维护管理方面的需求。最后,数据采集端环境千变万化,如果需要手动适配工作量巨大,如果采用容器化技术,只要打包几类典型的容器镜像,如ARM,X86,x86_64等,就可以事半功倍实现终端的发布工作。

    2.6.4 容器与SDN

    随着容器部署规模的增大,跨主机、跨网络的容器迁移成为常态。而容器更多地关注于轻量化本身,对于网络架构并没有太多关注。过于复杂的体系结构和管理过程,容易让整个容器网络和系统陷入不可控的非稳定状态。通过SDN和Overlay网络结合,将控制转发分离、集中控制管理理念应用于容器网络,还可以最大程度增强容器网络的弹性伸缩能力和简化网络管理。

    另外,SDN与容器的配合,是相得益彰、互相促进的。业界的SDN控制器和系统一般都比较庞大,安装、运行都极为复杂。通过Docker技术,能够实现SDN控制器的轻量级快速部署、安装、运行。

    展开全文
  • 容器技术介绍

    千次阅读 2018-12-01 23:12:19
    容器技术 基于 Linux 内核的cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。 容器技术与传统虚拟机技术比较 容器技术和传统虚拟机技术都属于操作系统级别...

    容器技术

    基于 Linux 内核的cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

    容器技术与传统虚拟机技术比较

    容器技术和传统虚拟机技术都属于操作系统级别的虚拟化技术,传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,再在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
    并且容器虚拟化由操作系统内核直接提供底层支撑技术,可以说由内核原生支持,省去了额外进行硬件虚拟和运行完成操作系统等开销,提高系统资源利用率。

    名词解释:容器和容器镜像

    操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而容器镜像(Image) ,就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套Ubuntu 16.04 最小系统的 root 文件系统。提供容器运行时所需的程序、库、资源、配置等文件。

    容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。

    展开全文
  • Docker容器技术

    2019-09-03 17:49:55
    Docker容器技术 文章目录Docker容器技术docker的安装docker的使用Docker Images镜像管理镜像相关操作基于容器制作镜像推送仓库到远程服务器镜像导入和导出docker容器虚拟化网络四种网络模型的创建docker网络相关配置...
  • 容器技术概述

    2019-06-06 10:27:39
    -----容器技术概述----- 容器技术是这两年热门的话题,因为容器技术给我们带来了很多方便的地方,节约了不少成本,不管是在运维还是开发上。而如今最热门的开源容器工具就是docker了,虽然不少人已经使用过docker,...
  • docker容器技术

    千次阅读 2019-05-30 13:22:35
    容器技术是一种应用程序封装和交付的核心技术 容器技术的核心由以下几个内核技术组成: (1)Cgroups(Control Groups):资源管理 (2)NameSpace:进程隔离 a. 主机名称隔离 b. 网络隔离 c. 文件系统隔离 d. ...
  • 嵌入式Linux容器技术

    千次阅读 2019-08-13 14:59:21
    嵌入式Linux容器技术 一、Linux容器技术 Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。 LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,...
  • 容器技术经验谈

    2018-04-12 10:44:17
    以 Docker 为代表的容器技术逐渐走向企业的落地实践,技术开发者关心的不是容器技术如何“改变世界”,而是如何利用容器技术和自身的业务、场景结合起来,从而切实提高自己企业的开发效率和减少运维成本。...
  • 容器技术初学

    2017-10-21 17:00:04
    从2015年开始,容器技术开始大火,容器被誉为是一种处理虚拟计算的新方法。现在越来越多的企业开始使用容器技术,所以值得一学。什么是容器? 容器有何特别之处? 该如何使用容器?一、容器?  容器技术是通过...
  • 接上一篇文章【容器技术】Docker容器技术入门(一)今天接着上次聊一聊有关Docker网络、数据存储相关的技术点Docker网络模式01Dokcer 通过使用 Linu...
  • Docker 容器技术 — 容器网络

    千次阅读 多人点赞 2020-10-02 10:39:47
    文章目录目录容器网络容器网络类型bridge 模式host 模式Container 模式none 模式容器端口映射容器跨主机通信 容器网络 容器网络类型 Docker 提供几种类型的网络,它决定容器之间、容器与外界之前的通信方式。 查看...
  • 容器技术20年

    2020-11-17 16:09:42
    容器技术和云原生就是一对双螺旋体,容器技术催生了云原生思潮,云原生生态推动了容器技术发展。从2013年docker(container)技术诞生,到2015年CNCF这个云原生领域重量级联盟便成立,这不是历史的巧合而是历史的...
  • 容器技术详解

    2018-11-21 21:03:59
    IT里的容器技术是英文单词Linux Container的直译。container这个单词有集装箱、容器的含义(主要偏集装箱意思)。不过,在中文环境下,咱们要交流要传授,如果翻译成“集装箱技术” 就有点拗口,所以结合中国人的...
  • 容器技术之发展简史

    千次阅读 2020-10-16 13:36:20
    简介:容器技术催生了云原生思潮,云原生生态推动了容器技术发展。整理容器技术近 20 年的发展历史,大致可以将其分为四个历史阶段。作者 | 刘奖背景“云原生技术有利于各组织在公有云、私有云和混合云等新型动态...
  • Docker 容器技术 — Overview

    千次阅读 2020-10-01 14:39:31
    Docker 是一个 Golang 开发的开源项目,是一种轻量级的容器技术,可以轻松创建容器和基于容器的应用程序。本质是一种操作系统虚拟化技术,最初基于 Linux Kernel 的 cgroups 和 namespace 实现的 LXC 技术。 ...
  • Docker容器技术概述

    2019-08-24 22:49:55
    容器生态系统包括容器技术和容器平台技术(容器编排引擎、容器管理平台、基于容器的paas)。 容器技术是学习容器的核心知识;容器编排引擎在大规模生产部署中非常重要;容器管理平台是架构在容器编排引擎之上,抽象...
  • 容器技术简介

    2017-07-21 10:43:51
    1.容器技术简介 对于容器,它首先是一个相对独立的运行环境,在这一点有点类似于虚拟机,但是不像虚拟机那样彻底。在容器内,应该最小化其对外界的影响,比如不能在容器内把host上的资源全部消耗,这就是资源控制...
  • 一、前言 说到容器,小编最先接触的容器还是tomcat这些... 这里小编就重点介绍一下容器技术的发展以及容器技术的黑马Docker。二、容器技术发展 小编觉得这张图非常棒,涵盖了容器技术的演变。 容器技术最早可以追溯
  • 容器技术的概念

    2019-11-18 16:58:04
    容器技术是英文单词Linux Container的汉译。Linux Container两个单词,第一个Linux表明了容器技术一般是应用在Linux操作系统上面;Container意思有:容器,集装箱,货柜的意思,为了方便理解,这里采用集装箱的汉译...
  • docker-容器技术

    千次阅读 2020-11-11 19:18:31
    容器技术 – 2 镜像管理 commit 打包镜像 docker commit 容器id 新镜像名称:标签 [root@node-0001 ~]# docker run -it centos:latest [root@02fd1719c038 ~]# rm -f /etc/yum.repos.d/*.repo [root@02fd1719c038 ~]#...
  • SDCC 2017之容器技术实战线上峰会

    千人学习 2017-12-19 14:27:46
    12月16日, 我们邀请到腾讯、华为、...具体内容包括容器技术在58同城的实践,蘑菇街容器平台的实践与落地心得、腾讯云容器服务架构实现介绍、微服务框架发展史、Kubernetes容器云平台实践、ServiceMesh-Linkerd的实践。
  • 虚拟化与容器技术

    2020-01-31 19:28:01
    虚拟化与容器技术
  • 美团的容器集群管理平台叫做HULK。漫威动画里的HULK在发怒时会变成“绿巨人”,它的这个特性和容器的“弹性伸缩”很像,所以我们给这个平台起名为HULK。...我们在探索容器技术时,很难放弃原有的资产。所以容器化...
  • 容器技术发展现状与展望

    千次阅读 2018-07-06 15:56:18
    一、容器技术发展现状容器技术主要可以分为容器运行技术和容器编排技术。其中:容器运行技术主要包括Docker和rkt等;容器编排技术主要包括Kubernetes、Meso...
  • Docker 容器技术 — 容器存储

    千次阅读 多人点赞 2020-10-02 10:40:46
    文章目录目录容器存储数据卷管理挂载时创建卷创建卷后挂载数据容器管理 容器存储 数据卷管理 核心选项: -v 宿主机目录:指定挂载到容器内的目录。 映射多个宿主机目录,只需要多写几个 -v 即可。 挂载时创建卷 ...
  • 传统的云计算是基于虚拟机技术的,而容器技术解决了虚拟机原来解决不了的问题。 云计算主要解决的是资源弹性的问题,感兴趣的可以看历史文章《不懂技术也能看懂云计算,大数据,人工智能》。 所谓资源,主要是指...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,747
精华内容 14,698
关键字:

容器技术