【云原生】第二篇--容器管理工具 Docker生态架构及部署 ...

打印 上一主题 下一主题

主题 633|帖子 633|积分 1899

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



一、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年因国际政治原因曾一度限制中国企业使用。
二、Docker部署

   安装Docker-ce版本。
  2.1 使用YUM源部署

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




  1. 在docker host上使用 wget下载到/etc/yum.repos.d目录中即可。
  2. # 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源中稳定版本,由于版本在不断更新,不同的时间安装版本也不相同,使用方法基本一致。
  1. 直接安装docker-ce,此为docker daemon,所有依赖将被yum自动安装,含docker client等。
  2. # yum -y install docker-ce
复制代码

2.1.3 配置Docker Daemon启动文件

   由于Docker使用过程中会对Centos操作系统中的Iptables防火墙中的FORWARD链默认规划产生影响及需要让Docker Daemon接受用户自定义的daemon.json文件,需要要按使用者要求的方式修改。
  1. # vim /usr/lib/systemd/system/docker.service
复制代码


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

  1. 重启加载daemon文件
  2. # systemctl daemon-reload
  3. 启动docker daemon
  4. # systemctl start docker
  5. 设置开机自启动
  6. # systemctl enable docker
复制代码
  1. 使用docker version客户端命令查看已安装docker软件版本
  2. # docker version
  3. Client: Docker Engine - Community 客户端
  4. Version:           20.10.12
  5. API version:       1.41
  6. Go version:        go1.16.12
  7. Git commit:        e91ed57
  8. Built:             Mon Dec 13 11:45:41 2021
  9. OS/Arch:           linux/amd64
  10. Context:           default
  11. Experimental:      true
  12. Server: Docker Engine - Community Docker管理引擎
  13. Engine:
  14.   Version:          20.10.12
  15.   API version:      1.41 (minimum version 1.12)
  16.   Go version:       go1.16.12
  17.   Git commit:       459d0df
  18.   Built:            Mon Dec 13 11:44:05 2021
  19.   OS/Arch:          linux/amd64
  20.   Experimental:     false
  21. containerd:
  22.   Version:          1.4.12
  23.   GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
  24. runc:
  25.   Version:          1.0.2
  26.   GitCommit:        v1.0.2-0-g52b36a2
  27. docker-init:
  28.   Version:          0.19.0
  29.   GitCommit:        de40ad0
复制代码
2.2 使用二进制文件部署

   官方不建议此种部署方式,主因为不能自动更新,在条件有限制的情况下使用。
  二进制安装参考网址:https://docs.docker.com/engine/install/binaries/









  1. 获取二进制文件,此文件中包含dockerd与docker 2个文件。
  2. # wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
复制代码
  1. 解压下载的文件
  2. # tar xf docker-20.10.9.tgz
  3. 查看解压出的目录
  4. # ls docker
  5. containerd       containerd-shim-runc-v2  docker   docker-init   runc
  6. containerd-shim  ctr                      dockerd  docker-proxy
复制代码
  1. 安装解压后的所有二进制文件
  2. # cp docker/* /usr/bin/
复制代码
  1. 运行Daemon
  2. # dockerd &
  3. 会有大量的信息输出,停止后,直接回车即可使用。
复制代码
  如果您需要使用其他选项启动守护程序,请相应地修改上述命令或创建并编辑文件/etc/docker/daemon.json 以添加自定义配置选项。
  1. 确认是否可以使用docker客户端命令
  2. # which docker
  3. /usr/bin/docker
  4. 使用二进制安装的docker客户端
  5. # docker version
  6. Client:
  7. Version:           20.10.9
  8. API version:       1.41
  9. Go version:        go1.16.8
  10. Git commit:        c2ea9bc
  11. Built:             Mon Oct  4 16:03:22 2021
  12. OS/Arch:           linux/amd64
  13. Context:           default
  14. Experimental:      true
  15. Server: Docker Engine - Community
  16. Engine:
  17.   Version:          20.10.9
  18.   API version:      1.41 (minimum version 1.12)
  19.   Go version:       go1.16.8
  20.   Git commit:       79ea9d3
  21.   Built:            Mon Oct  4 16:07:30 2021
  22.   OS/Arch:          linux/amd64
  23.   Experimental:     false
  24. containerd:
  25.   Version:          v1.4.11
  26.   GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
  27. runc:
  28.   Version:          1.0.2
  29.   GitCommit:        v1.0.2-0-g52b36a2d
  30. docker-init:
  31.   Version:          0.19.0
  32.   GitCommit:        de40ad0
复制代码
来源:https://blog.csdn.net/qq_41250372/article/details/125225015
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表