• Docker 引擎的安装 -->>存储库安装


    Docker理论知识

      Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。   

      Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)   

      Docker EE专为企业的发展和IT团队建立,为企业提供最安全的容器平台,以应用为中心的平台,有专门的团队支持,可在经过认证的操作系统和云提供商中使用,并可运行来自DockerStore的经过认证的容器和插件。   

      Docker CE是免费的Docker产品的新名称,Docker CE包含了完整的Docker平台,非常适合开发人员和运维团队构建容器APP。

    Docker的三个基本概念

      镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。  

      容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

      仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

    Docker架构

      Docker 镜像(Images):Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。

      Docker 容器(Container):容器是独立运行的一个或一组应用,是镜像运行时的实体。

      Docker 客户端(Client):Docker 客户端通过命令行或者其他工具使用 Docker SDK与 Docker 的守护进程通信。

      Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

      Docker Registry:Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

      Docker Hub提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

      Docker Machine:Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 

     Docker的优点

    灵活:即使是最复杂的应用也可以集装箱化。
    轻量级:容器利用并共享主机内核。
    可互换:可以即时部署更新和升级。
    便携式:可以在本地构建,部署到云,并在任何地方运行。
    可扩展:可以增加并自动分发容器副本。
    可堆叠:可以垂直和即时堆叠服务。
    在同一硬件上运行更多工作负载。
    允许高度可移植的工作负载

    Docker私有仓库

    Docker仓库分为公有仓库和私有仓库,然而公有仓库在某些情况下并不适用于公司内部传输。通过对比两种仓库的特点,大致可以得出私有仓库有以下优点:

    ① 节省带宽;

    ② 传输速度快;

    ③ 方便存储。

    Docker镜像及容器的使用

    Image(镜像)是一个只读模板,由Dockerfile文件描述镜像内容,镜像定义类似面对对象的类。

    构建一个镜像实际就是安装、配置、运行的过程。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。

    容器是一个镜像运行的实例,容器由镜像创建,运行用户指定的指令或者Dockerfile定义的运行指令。

    容器之间都是互不可见的。

    容器编排

    容器编排是指对单独组件和应用层的工作进行组织的流程。

    应用一般由单独容器化的组件(通常称为微服务)组成,且必须按照顺序在网络级别进行组织,使其能够按照计划运行。

    所有的容器编排引擎均可让用户控制器启动和停止的时间,将其分组合到集群中,以及协调应用组合的流程。

    Docker引擎的安装

    使用存储库安装

    在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

    设置存储库 安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager 
        --add-repo 
        https://download.docker.com/linux/centos/docker-ce.repo

    可选:启用夜间或测试存储库。  这些存储库包含在docker.repo上面的文件中,但默认情况下是禁用的。您可以在稳定存储库旁边启用它们。以下命令启用夜间存储库。

    $  sudo yum-config-manager --enable docker-ce-nightly

    要启用测试通道,请运行以下命令:

    $ sudo yum-config-manager --enable docker-ce-test

    您可以通过运行带有标志命令来禁用夜间测试存储库 要重新启用它,请使用该标志。以下命令禁用夜间存储库。yum-config-manager--disable--enable

    $ sudo yum-config-manager --disable docker-ce-nightly

    安装Docker引擎

    安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:

    $ sudo yum install docker-ce docker-ce-cli containerd.io

    如果提示接受 GPG 密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配 ,请接受。

    Docker 已安装但未启动。docker组被创建,但没有用户添加到组。

    要安装特定版本的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装一种。列出并排序您的仓库中可用的版本。此示例按版本号对结果进行排序,从高到低,并被截断。

    $ yum list docker-ce --showduplicates | sort -r
    docker
    -ce.x86_64 3:20.10.7-3.el7 docker-ce-test docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.7-3.el7 @docker-ce-stable docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-test docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-test docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

    Docker 已安装但未启动。docker组被创建,但没有用户添加到组。

    启动 Docker。

    $  sudo systemctl start docker

    通过运行hello-world 映像验证 Docker Engine 是否已正确安装

    $ sudo docker run hello-world

    此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。

    至此Docker引擎安装完毕

  • 相关阅读:
    eclipse安装Aptana 插件,支持Javascript
    C++字符串转换成uint64类型
    C语言字节对齐
    Windows版本Traceroute
    ubuntu下使用FireBug调试Javascript脚本
    TCP拥塞控制图
    nodejs点滴
    你应该知道的16个Linux服务器监控命令
    C语言运算符(转载)
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/yj-8023/p/14918248.html
Copyright © 2020-2023  润新知