• 容器管理工具 Docker生态架构及部署


    目录

    一、Docker生态架构

    1.1 Docker Containers Are Everywhere

    1.2 生态架构

    1.2.1 Docker Host

    1.2.2 Docker daemon

    1.2.3 Registry

    1.2.4 Docker client

    1.2.5 Image

    1.2.6 Container

    1.2.7 Docker Dashboard

    1.3 Docker版本

    二、Docker部署

    2.1 使用YUM源部署

    2.1.1 获取阿里云开源镜像站YUM源文件

    2.1.2 安装Docker-ce

    2.1.3 配置Docker Daemon启动文件

    2.1.4 启动Docker服务并查看已安装版本

    2.2 使用二进制文件部署


    一、Docker生态架构

    1.1 Docker Containers Are Everywhere

    1.2 生态架构

    1.2.1 Docker Host

    用于安装Docker daemon的主机,即为Docker Host,并且该主机中可基于容器镜像运行容器。

    1.2.2 Docker daemon

    用于管理Docker Host中运行的容器、容器镜像、容器网络等,管理由Containerd.io生成并提供的容器。它是管理工具,自己不生成容器。

    1.2.3 Registry

    容器镜像仓库,用于存储已生成容器运行模板的仓库,用户使用时,可直接从容器镜像仓库中下载容器镜像,即容器运行模板,就可以运行容器镜像中包含的应用了。例如:Docker Hub,也可以使用Harbor实现企业私有的容器镜像仓库。

    1.2.4 Docker client

    Docker Daemon客户端工具,用于同Docker Daemon进行通信,执行用户指令,可部署在Docker Host上,也可以部署在其它主机,能够连接到Docker Daemon即可操作。

    1.2.5 Image

    把应用运行环境及计算资源打包方式生成可再用于启动容器的不可变的基础设施的模板文件,主要用于基于其启动一个容器。

    1.2.6 Container

    由容器镜像生成,用于应用程序运行的环境,包含容器镜像中所有文件及用户后添加的文件,属于基于容器镜像生成的可读写层,这也是应用程序活跃的空间。

    1.2.7 Docker Dashboard

    仅限于MAC与Windows操作系统上安装使用。

    Docker Dashboard 提供了一个简单的界面,使您能够直接从您的机器管理您的容器、应用程序和映像,而无需使用 CLI 来执行核心操作。

    1.3 Docker版本

    • Docker-ce Docker社区版,主要用于个人开发者测试使用,免费版本

    • Docker-ee Docker企业版,主要用于为企业开发及应用部署使用,收费版本,免费试用一个月,2020年因国际政治原因曾一度限制中国企业使用。

    基础准备:

    1熟悉主机环境

    cat /etc/system-release

    2查看内核

    3.关闭事关系统安全的配置

      1>关闭firewall配置安全管理工具

    firewall-cmd --state

    2>sestatus

    二、Docker部署

    安装Docker-ce版本。

    2.1 使用YUM源部署

    YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,原因速度快。

    2.1.1 获取阿里云开源镜像站YUM源文件

     

     

     在docker host上使用 wget下载到/etc/yum.repos.d目录中即可。  # wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    2.1.2 安装Docker-ce

    在docker host上安装即可,本次使用YUM源中稳定版本,由于版本在不断更新,不同的时间安装版本也不相同,使用方法基本一致。

     直接安装docker-ce,此为docker daemon,所有依赖将被yum自动安装,含docker client等。
     # yum -y install docker-ce

    2.1.3 配置Docker Daemon启动文件

    由于Docker使用过程中会对Centos操作系统中的Iptables防火墙中的FORWARD链默认规划产生影响及需要让Docker Daemon接受用户自定义的daemon.json文件,需要要按使用者要求的方式修改。

     # vim /usr/lib/systemd/system/docker.service

    2.1.4 启动Docker服务并查看已安装版本

     重启加载daemon文件
     # systemctl daemon-reload
     ​
     启动docker daemon
     # systemctl start docker
     ​
     设置开机自启动
     # systemctl enable docker

     使用docker version客户端命令查看已安装docker软件版本
     # docker version
     Client: Docker Engine - Community 客户端
      Version:           20.10.12
      API version:       1.41
      Go version:        go1.16.12
      Git commit:        e91ed57
      Built:             Mon Dec 13 11:45:41 2021
      OS/Arch:           linux/amd64
      Context:           default
      Experimental:      true
     ​
     Server: Docker Engine - Community Docker管理引擎
      Engine:
       Version:          20.10.12
       API version:      1.41 (minimum version 1.12)
       Go version:       go1.16.12
       Git commit:       459d0df
       Built:            Mon Dec 13 11:44:05 2021
       OS/Arch:          linux/amd64
       Experimental:     false
      containerd:
       Version:          1.4.12
       GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
      runc:
       Version:          1.0.2
       GitCommit:        v1.0.2-0-g52b36a2
      docker-init:
       Version:          0.19.0
       GitCommit:        de40ad0

    2.2 使用二进制文件部署

    官方不建议此种部署方式,主因为不能自动更新,在条件有限制的情况下使用。

    二进制安装参考网址:Install Docker Engine from binaries | Docker Docs

     获取二进制文件,此文件中包含dockerd与docker 2个文件。
     # wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz

     解压下载的文件
     # tar xf docker-20.10.9.tgz
     查看解压出的目录
     # ls docker
     containerd       containerd-shim-runc-v2  docker   docker-init   runc
     containerd-shim  ctr                      dockerd  docker-proxy

     安装解压后的所有二进制文件
     # cp docker/* /usr/bin/

    运行Daemon
    # dockerd &
    
    会有大量的信息输出,停止后,直接回车即可使用。

    如果您需要使用其他选项启动守护程序,请相应地修改上述命令或创建并编辑文件/etc/docker/daemon.json 以添加自定义配置选项。

    确认是否可以使用docker客户端命令
    # which docker
    /usr/bin/docker
    
    使用二进制安装的docker客户端
    # docker version
    Client:
     Version:           20.10.9
     API version:       1.41
     Go version:        go1.16.8
     Git commit:        c2ea9bc
     Built:             Mon Oct  4 16:03:22 2021
     OS/Arch:           linux/amd64
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.9
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.16.8
      Git commit:       79ea9d3
      Built:            Mon Oct  4 16:07:30 2021
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          v1.4.11
      GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
     runc:
      Version:          1.0.2
      GitCommit:        v1.0.2-0-g52b36a2d
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
  • 相关阅读:
    SpringCloud-微服务拆分、服务远程调用
    设计模式- 迭代器模式(Iterator Pattern)结构|原理|优缺点|场景|示例
    Spring Initializr私服搭建和定制化模板
    【C++】继承 ⑫ ( 继承的二义性 | virtual 虚继承 )
    python set()去重的底层原理
    卷积积分的计算
    企业架构LNMP学习笔记36
    服务端没有 listen,客户端发起连接建立,会发生什么?
    视频怎么转换为音频文件?快来掌握这几种方式
    flink的CoProcessFunction使用示例
  • 原文地址:https://blog.csdn.net/CUITAO2305532402/article/details/112134165