云原生第二篇--容器管理工具docker生态架构及部署(代码片段)

孙和龚 孙和龚     2023-03-13     366

关键词:

容器管理工具 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源文件



在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 使用二进制文件部署

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

二进制安装参考网址:https://docs.docker.com/engine/install/binaries/









获取二进制文件,此文件中包含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

第二篇:docker容器技术栈

说明:学习Docker容器技术,先纵向了解大致内容架构,再横向逐一分解涉及的各项技术内容 查看详情

云原生docker架构及工作原理

一、Docker概述二、Client客户端三、Docker引擎四、Image镜像五、Container容器六、镜像分层可写的容器层七、Volume数据卷八、Registry注册中心九、总结一、Docker概述Docker是一个开发、发布和运行应用程序的开放平台。Docker使您能够将... 查看详情

猿创征文|云原生领域之容器日常使用工具推荐(代码片段)

猿创征文|云原生领域之容器日常使用工具推荐一、云原生介绍1.云原生定义2.容器技术简介3.云原生相关工具导航二、Docker1.Docker介绍①Docker简介②Docker特点③Docker的三个基本概念④Docker的架构图2.Docker的优势3.Docker的使用效果①... 查看详情

云原生存储详解:容器存储与k8s存储卷(代码片段)

作者|阚俊宝阿里云技术专家导读:云原生存储详解系列文章将从云原生存储服务的概念、特点、需求、原理、使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战。本文为该系列文章的第二篇,会对容器存储的... 查看详情

云原生|docker篇docker架构&中央仓库&安装

目录​​一、Docker架构​​​​1.1基本概念​​​​1.2Docker引擎​​​​二、Docker的中央仓库​​​​三、Docker安装​​​​四、Docker卸载​​Docker:Buildonce,Runanywhere!!!  一、Docker架构Docker使用客户端-服务器(C/S)架构模... 查看详情

云原生生态圈:docker核心技术全面总结(代码片段)

...专栏将从基础开始,循序渐进,由浅入深讲解云原生相关知识,希望大家都能够从中有所收获,也请大家多多支持。专栏地址:云原生专栏如果文章知识点有错误的地方,请指正!大家一起学习,一起进... 查看详情

云原生之docker的容器资源管理

云原生之Docker的容器资源管理一、检查本地docker环境1.检查系统版本2.检查Docker状态二、Cgroup和NameSpace介绍1.Cgroup简介2.NameSpace简介3.容器的资源隔离三、容器的资源限额1.容器中CPU的使用限额①运行一个压力测试容器②新开启终端... 查看详情

云原生之docker实战部署轻量级容器云管理平台humpback

【云原生之Docker实战】部署轻量级容器云管理平台Humpback一、Humpback介绍1.Humpback简介2.Humpback特点二、检查docker环境1.检查docker状态2.检查docker版本三、安装docker-compose1.下载docker-compose二进制包2.给文件增加执行权限3.检查docker-compos... 查看详情

云原生之docker容器的存储管理(代码片段)

一、检查本地docker环境1.检查宿主机系统版本[root@docker~]#cat/etc/centos-releaseCentOSLinuxrelease7.6.1810(Core)2.检查docker版本[root@docker~]#docker-vDockerversion20.10.18,buildb40c2f6二、创建一个测试httpd容器1.创建测试目录[root& 查看详情

云原生|docker篇docker架构&中央仓库&安装(代码片段)

目录一、Docker架构1.1基本概念1.2Docker引擎二、Docker的中央仓库三、Docker安装四、Docker卸载Docker:Buildonce,Runanywhere!!!  一、Docker架构Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Dock... 查看详情

spring第二篇:spring容器的基本使用及原理

一、Spring的IOC容器  Spring的IOC容器是具有依赖注入功能的容器,负责对象的实例化、对象的初始化,对象和对象之间依赖关系配置、对象的销毁、对外提供对象的查找等操作,对象的整个生命周期都是由容器来控制。我们需要... 查看详情

[云原生专题-15]:容器-docker主机管理工具-dockermachine

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址: https://blog.csdn.net/HiWangWenBing/article/details/122730096目录前言:第1章什么是dockermachine1.1Dockermachine教程1.2DockerMa 查看详情

[云原生专题-18]:容器-docker自带的集群管理工具swarm-手工搭建集群服务全过程详细解读

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122743643目录准备工作:集群规划第一步:搭建云服务器1.1安装服... 查看详情

云原生之docker实战使用docker部署excalidraw白板绘图工具

【云原生之Docker实战】使用Docker部署excalidraw白板绘图工具一、excalidraw介绍1.excalidraw简介2..excalidraw特点二、检查本地docker状态1.检查docker配置信息2.检查docker状态三、下载excalidraw镜像四、创建excalidraw容器1.创建excalidraw容器2.查看... 查看详情

有容云干货-容器系列补脑专用,容器生态圈脑图大放送

...离性、标准化以及可大规模部署的特性促生了微服务和云原生应用的普及和发展。 Docker容器毫无疑问,Docker是目前最具人气且应用最为广泛的容器技术。为什么呢?作者总结了以下主要的两个原因。 1、和早期容器技术... 查看详情

系统学习docker---第二节docker架构,原理,安装及简单应用

本小节主要内容:1.docker的架构2.docker安装步骤3.docker简单应用4.底层原理1.docker的架构  1.看官网,docker的架构描述: https://docs.docker.com/get-started/overview/Docker使用客户端-服务器架构。Docker 客户端与Docker 守护进程进... 查看详情

云原生之docker实战使用docker部署showdoc文档工具(代码片段)

【云原生之Docker实战】使用Docker部署ShowDoc文档工具一、ShowDoc介绍1.ShowDoc简介2.ShowDoc功能二、检查docker版本三、检查docker状态四、下载ShowDoc镜像五、创建ShowDoc容器1.创建数据目录2目录授权3.运行ShowDoc容器4.查看ShowDoc容器状态5.查... 查看详情

云原生之docker实战使用docker部署mkdocs项目文档工具

【云原生之Docker实战】使用docker部署mkdocs项目文档工具一、mkdocs介绍1.mkdocs简介2.mkdocs特点二、检查本地环境1.检查docker版本2.检查docker状态3.检查系统版本三、下载mkdocs镜像四、使用docker-cli部署mkdocs应用1.创建数据目录2.生成项目... 查看详情