docker简介与安装配置

  • 简介
    • docker的官方概念:2013, GO语言开发, Apache 2.0, dotCloud研发公司
      开发人员和系统管理员可以使用docker平台去开发、部署、运行应用。使用Linux容器来部署应用程序称为集装箱化。容器并不是什么新技术,但可以简化部署应用。
    • 容器化不断受捧原因如下:
      Flexible: Even the most complex applications can be containerized.
      Lightweight: Containers leverage and share the host kernel.
      Interchangeable: You can deploy updates and upgrades on-the-fly.
      Portable: You can build locally, deploy to the cloud, and run anywhere.
      Scalable: You can increase and automatically distribute container replicas.
      Stackable: You can stack services vertically and on-the-fly.
      Docker的特性:
      标准化:
      保证一致的运行环境
      弹性伸缩,快速扩容
      方便迁移
      持续集成、持续交付与持续部署
      高性能:不需要进行硬件虚拟以及运行完整的操作系统
      轻量级:快速启动
      隔离性:进程隔离
    • docker与VM的区别:
      两者的对比图:
  • docker架构组件
    • docker架构
      c/s架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过unix套接字或网络接口进行通信。
    • The Docker daemon
      docker守护进程(dockerd)监听docker API请求并管理docker对象,例如:images、container、network、和volumes。dockerd还可以与别的进程通信管理docker服务。
    • The Docker client
      docker客户端是我们与Docker交互的主要方法。例如使用docker run命令,客户端发送命令到dockerd运行命令,客户端可以跟多个服务进程通信。
    • Docker registries
      存储Docker镜像仓库,公共仓库有Docker Hub,Docker Cloud ,默认配置从Docker Hub查找镜像,你也可以运行你的私有仓库。Docker数据中心包含Docker信任仓库。当使用docker pull或者docker run命令时,从你配置的仓库拉取需要的镜像。当使用docker push命令时,镜像推送至你配置的仓库。
    • IMAGES
      镜像是一个只读模板 ,带有创建docker容器的说明。一般来说,镜像会基于另外的一些基础镜像构建并加上一些额外的自定义功能。比如你可以构建一个基于Ubuntu的镜像,然后在这个基础镜像上面安装一个Apache应用,这样就可以构建成属于我们自己的镜像了。你也可以创建你自己的镜像或者仓库中别人制作好的镜像。构建镜像,创建Dockerfile文件,
      在Dockerfile的每条指令在镜像创建一层,当文件更改并重新构建镜像,更改的层被重建。 相比虚拟化技术,这种创作的镜像轻量化、更小、更快。
    • CONTAINERS
      容器是镜像运行的实例。可以使用Docker API或CLI 去 create, start, stop, move, or delete 一个容器。容器可以连接至一个或者多个网络,连接存储,甚至基于当前状态构建新的镜像。容器的实质是进程,但与直接在宿主机执行的进程不同,容器进行运行于属于自己独立的命名空间。因此容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户id空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主机运行更加案例。
  • 安装配置
    docker版本介绍:
    docker-io:docker早期版本,支持到1.13,在centos 6.x系统上只能使用docker-io
    docker-ce:社区docker发行版本
    docker-ee:docker商业版本
    安装:阿里docker-ce配置
  • # step 1: 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    # Step 2: 添加软件源信息
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # Step 3: 更新并安装 Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
    # Step 4: 开启Docker服务
    sudo service docker start
    
    # 注意:
    # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
    # vim /etc/yum.repos.d/docker-ce.repo
    #   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
    #
    # 安装指定版本的Docker-CE:
    # Step 1: 查找Docker-CE的版本:
    # yum list docker-ce.x86_64 --showduplicates | sort -r
    #   Loading mirror speeds from cached hostfile
    #   Loaded plugins: branch, fastestmirror, langpacks
    #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
    #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
    #   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
    #   Available Packages
    # Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
    # sudo yum -y install docker-ce-[VERSION]

    参考文档:
    阿里云镜像:https://yq.aliyun.com/articles/110806
    docker官方文档:https://docs.docker.com/engine/docker-overview/#control-groups

    原文地址:http://blog.51cto.com/12580678/2327309

    时间: 2024-11-03 22:32:01

    docker简介与安装配置的相关文章

    Ogre简介及安装配置

    Ogre简介及安装配置 关于Ogre Ogre,食人魔,兽人部落曾经的盟友,如今遍布艾泽拉斯和德拉诺.当然,这里说的Ogre不是这些梨形的胖子们,而是“Object-Oriented Graphics Rendering Engine”,面向对象的图形渲染引擎. 由于种种原因,需要用C++来做渲染,我找了很多不同游戏引擎的资料最终选定了Ogre.Ogre并不是一个完整的游戏引擎,他只能够实现图形渲染的功能,但是它能够添加很多插件,让我们开发一个完整的游戏.如果不想深入了解游戏程序开发的话,建议去

    Docker 简介及安装

    Docker简介: 什么是Docker?将应用程序自动部署到容器 go语言开源引擎  Github地址:https://github.com/docker/docker 2013年初 dotCloud 基于Apache2.0 开源授权协议发行 Docker的目标和特点 提供简单轻量的建模方式 职责的逻辑分离 快速高效的开发生命周期 鼓励使用面向服务的架构 Docker使用场景: 1 使用Docker容器开发,测试,部署服务 2 创建隔离的运行环境 3 搭建测试环境 4 构建多用户的平台既服务PA

    1 docker简介和安装

    docker简介 简介 2013年诞生,容器虚拟化,在系统中实际上是一个进程. 使用go语言开发,基于apache 2.0协议 redhat6.5以后的版本支持docker 特点 容器虚拟化,轻量级(进程),启动速度极快(不用手动分配CPU.内存资源) 对硬件资源的利用率更高 一次创建和配置后,可以在任意地方运行和使用,让运维人员或者开发人员快速部署和交付资源,大大提高了工作效率 内核级别的虚拟化,不需要额外的hypervisor 迁移十分方便 VM和docker的比较 基本概念 镜像:是一个只

    docker简介以及安装

    docker官网:https://www.docker.com/ 1.docker简介 Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低. 1.什么是docker 1.docker是一个容器平台软件: 2.Docker公司开发.开源.托管在github上 3.跨平台,支持l

    Maven01——简介、安装配置、入门程序、项目构建和依赖管理

    1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同一个项目,普通的传统项目(24M)而Maven项目只需要(724KB) 分析:maven项目为什么这么小?没有jar. 需要jar吗?肯定需要.没有存在于maven项目里面,jar存在于哪? 1.3 依赖管理 1.4 项目一键构建 编码  编译  测试(junit)  运行  打包  部署 一个 t

    elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实

    elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实

    Java简介和安装配置

    Java介绍及安装配置 简介 Java是一种广泛使用的计算机编程语言,拥有跨平台.面向对象.泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发. 跨平台:指可以在多重操作系统或普通硬件架构的电脑上运行.Java自带的虚拟机很好地实现了跨平台性. 面向对象:是一种具有对象概念的程序编程思想. 泛型编程:是一种风格或范式(范既模范.典范之意,范式既模式.方法)的编程风格. Java版本: Java SE: Java 的标准版,是其他版本的基础. Java EE: Java 的企业版,主要用

    Docker简介与安装(一)

    Docker简介 Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托管在 GitHub 上, 基于Go语言并遵从Apache2.0协议开源. Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等.由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率. 三大理念:Build(构建).Ship(运