您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    详细的Docker入门总结 看这一篇就够了(3)
    时间:2018-11-14 12:31 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    详细的Docker入门总结 看这一篇就够了

    我们执行以下安装命令去安装依赖包:

    $ sudo yum install -y yum-utils \  

    device-mapper-persistent-data \  

    lvm2 

    这里我事前曾经安装过了,所以提示我曾经安装了最新版本:

    详细的Docker入门总结 看这一篇就够了

    安装 Docker

    Docker 软件包曾经包括在默许的 CentOS-Extras 软件源里。因此想要安装 Docker,只需求运转下面的 yum 命令:

    $ sudo yum install docker 

    当然在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以运用这套脚本安装:

    curl -fsSL get.docker.com -o get-docker.sh  

    sh get-docker.sh 

    详细可以参看 docker-install 的脚本:https://github.com/docker/docker-install。

    执行这个命令后,脚本就会自动的将一切预备任务做好,并且把 Docker CE 的 Edge 版本安装在系统中。

    安装完成后,运转下面的命令,验证能否安装成功:

    docker versionordocker info 

    前往 Docker 的版本相关信息,证明 Docker 安装成功:

    详细的Docker入门总结 看这一篇就够了

    启动 Docker-CE:

    $ sudo systemctl enable docker$ sudo systemctl start docker 

    Docker 的复杂运用 Hello World

    由于效劳器日常崩溃了, Docker 出了点成绩,所以以下案例的演示是基于 Kali Linux 环境下停止的。

    我们经过最复杂的 Image 文件 Hello World,感受一下 Docker 的魅力吧!

    我们直接运转下面的命令,将名为 hello-world 的 image 文件从仓库抓取到本地:

    docker pull library/hello-world 

    docker pull images 是抓取 image 文件,library/hello-world 是 image 文件在仓库外面的位置,其中 library 是 image 文件所在的组,hello-world 是 image 文件的名字。

    详细的Docker入门总结 看这一篇就够了

    抓取成功以后,就可以在本机看到这个 image 文件了:

    docker images 

    我们可以看到如下结果:

    详细的Docker入门总结 看这一篇就够了

    如今,我们可以运转 hello-world 这个 image 文件:

    docker run hello-world 

    我们可以看到如下结果:

    详细的Docker入门总结 看这一篇就够了

    输入这段提示以后,hello world 就会中止运转,容器自动终止。有些容器不会自动终止,由于提供的是效劳,比如 MySQL 镜像等。

    是不是很 Easy 呢?我们从下面可以看出,Docker 的功用是十分弱小的,除此之外,我们还可以拉取一些 Ubuntu,Apache 等镜像,在未来的教程中我们将会逐一提到。

    Docker 提供了一套复杂适用的命令来创立和更新镜像,我们可以经过网络直接下载一个曾经创立好了的运用镜像,并经过 Docker RUN 命令就可以直接运用。

    当镜像经过 RUN 命令运转成功后,这个运转的镜像就是一个 Docker 容器啦。

    容器可以了解为一个轻量级的沙箱,Docker 应用容器来运转和隔离运用,容器是可以被启动、中止、删除的,这并不会影响 Docker 镜像。

    我们可以看看下面这幅图:

    详细的Docker入门总结 看这一篇就够了

    Docker 客户端是 Docker 用户与 Docker 交互的主要方式。当您运用 Docker 命令行运转命令时,Docker 客户端将这些命令发送给效劳器端,效劳端将执行这些命令。

    Docker 命令运用 Docker API 。Docker 客户端可以与多个效劳端停止通讯。

    我们将剖析一下 Docker 容器是如何任务的,学习好 Docker 容器任务的原理,我们就可以本人去管理我们的容器了。

    Docker 架构

    在下面的学习中,我们复杂地解说了 Docker 的基本架构。了解到了 Docker 运用的是 C/S 结构,即客户端/效劳器体系结构。

    明白了 Docker 客户端与 Docker 效劳器停止交互时,Docker 效劳端担任构建、运转和分发 Docker 镜像。

    知道了 Docker 客户端和效劳端可以运转在一台机器上,我们可以经过 RESTful 、Stock 或网络接口与远程 Docker 效劳端停止通讯。

    我们从下图可以很直观的了解到 Docker 的架构:

    详细的Docker入门总结 看这一篇就够了

    Docker 的中心组件包括:

    Docker Client

    Docker Daemon

    Docker Image

    Docker Registry

    Docker Container

    Docker 采用的是 Client/Server 架构。客户端向效劳器发送央求,效劳器担任构建、运转和分发容器。

    客户端和效劳器可以运转在同一个 Host 上,客户端也可以经过 Socket 或 REST API 与远程的效劳器通讯。

    能够很多冤家暂时不太了解一些东西,比如 REST API 是什么东西等,不过没关系,在前面的文章中会逐一给大家解说清楚。

    Docker Client

    Docker Client ,也称 Docker 客户端。它其实就是 Docker 提供命令行界面(CLI)工具,是许多 Docker 用户与 Docker 停止交互的主要方式。

    客户端可以构建,运转和中止运用顺序,还可以远程与 Docker_Host 停止交互。

    最常用的 Docker 客户端就是 Docker 命令,我们可以经过 Docker 命令很方便地在 Host 上构建和运转 Docker 容器。

    详细的Docker入门总结 看这一篇就够了

    Docker Daemon

    Docker Daemon 是效劳器组件,以 Linux 后台效劳的方式运转,是 Docker 最中心的后台进程,我们也把它称为守护进程。

    它担任照应来自 Docker Client 的央求,然后将这些央求翻译成系统调用完成容器管理操作。

    该进程会在后台启动一个 API Server ,担任接纳由 Docker Client 发送的央求,接纳到的央求将经过 Docker Daemon 外部的一个路由分发调度,由详细的函数来执行央求。

    详细的Docker入门总结 看这一篇就够了

    我们大致可以将其分为以下三部分:

    Docker Server

    Engine

    Job

    Docker Daemon 的架构如下所示:

    详细的Docker入门总结 看这一篇就够了

    Docker Daemon 可以以为是经过 Docker Server 模块接受 Docker Client 的央求,并在 Engine 中处置央求,然后依据央求类型,创立出指定的 Job 并运转。

    Docker Daemon 运转在 Docker Host 上,担任创立、运转、监控容器,构建、存储镜像。

    运转进程的作用有以下几种能够:

    向 Docker Registry 获取镜像。

    经过 GraphDriver 执行容器镜像的本地化操作。

    经过 NetworkDriver 执行容器网络环境的配置。

    经过 ExecDriver 执行容器外部运转的执行任务。

    由于 Docker Daemon 和 Docker Client 的启动都是经过可执行文件 Docker 来完成的,因此两者的启动流程十分相似。

    Docker 可执行文件运转时,运转代码经过不同的命令行 Flag 参数,区分两者,并最终运转两者各自相应的部分。

    启动 Docker Daemon 时,普通可以运用以下命令来完成:

    docker --daemon = truedocker –d  

    docker –d = true 

    再由 Docker 的 main() 函数来解析以上命令的相应 Flag 参数,并最终完成 Docker Daemon 的启动。

    下图可以很直观地看到 Docker Daemon 的启动流程:

    详细的Docker入门总结 看这一篇就够了

    默许配置下,Docker Daemon 只能照应来自本地 Host 的客户端央求。假设要允许远程客户端央求,需求在配置文件中翻开 TCP 监听。

    我们可以照着如下步骤停止配置:

    1、编辑配置文件/etc/systemd/system/multi-user.target.wants/docker.service,在环境变量 ExecStart 前面添加 -H tcp://0.0.0.0,允许来自恣意 IP 的客户端衔接。

    (责任编辑:admin)