容器管理工具 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 versionClient: Docker Engine - Community 客户端Version:           20.10.12API version:       1.41Go version:        go1.16.12Git commit:        e91ed57Built:             Mon Dec 13 11:45:41 2021OS/Arch:           linux/amd64Context:           defaultExperimental:      true​Server: Docker Engine - Community Docker管理引擎Engine:Version:          20.10.12API version:      1.41 (minimum version 1.12)Go version:       go1.16.12Git commit:       459d0dfBuilt:            Mon Dec 13 11:44:05 2021OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.4.12GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5drunc:Version:          1.0.2GitCommit:        v1.0.2-0-g52b36a2docker-init:Version:          0.19.0GitCommit:        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 dockercontainerd       containerd-shim-runc-v2  docker   docker-init   runccontainerd-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.9API version:       1.41Go version:        go1.16.8Git commit:        c2ea9bcBuilt:             Mon Oct  4 16:03:22 2021OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.9API version:      1.41 (minimum version 1.12)Go version:       go1.16.8Git commit:       79ea9d3Built:            Mon Oct  4 16:07:30 2021OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          v1.4.11GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8runc:Version:          1.0.2GitCommit:        v1.0.2-0-g52b36a2ddocker-init:Version:          0.19.0GitCommit:        de40ad0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用友U8 CRM客户关系管理任意文件上传漏洞复现【附POC】

文章目录 用友U8 CRM客户关系管理任意文件上传漏洞复现0x01 前言0x02 漏洞描述0x03 影响平台0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现4.访问shell地址 0x06 整改建议 用友U8 CRM客户关系管理任意文件上传漏洞复现 0x01 前言 免责声明:请勿利用文…

【Java 基础篇】Java网络编程实战:P2P文件共享详解

Java网络编程是现代软件开发中不可或缺的一部分,因为它允许不同计算机之间的数据传输和通信。在本篇博客中,我们将深入探讨Java中的P2P文件共享,包括什么是P2P文件共享、如何实现它以及一些相关的重要概念。 什么是P2P文件共享? …

蓝牙核心规范(V5.4)10.7-BLE 入门笔记之L2CAP

1.概述 ATT属性用于两个设备,一个扮演客户端的角色,另一个扮演服务器的角色。服务器公开一系列称为属性的复合数据项。这些属性由服务器按索引列表组织在称为属性表的列表中。 每个属性包含一个句柄、一个通用唯一标识符(UUID)、一个值和一组权限。 句柄是一个唯一的索引…

mysql自动删除过期的binlog

一、binlog_expire_logs_seconds 配置项 mysql 8.0使用配置项 binlog_expire_logs_seconds 设置binlog过期时间,单位为秒。 mysql旧版本使用配置项 expire_logs_days 设置binlog过期时间,单位为天,不方便测试。 在 8.0 使用 expire_logs_d…

蓝牙核心规范(V5.4)11.4-LE Audio 笔记之音频模型

专栏汇总网址:蓝牙篇之蓝牙核心规范学习笔记(V5.4)汇总_蓝牙核心规范中文版_心跳包的博客-CSDN博客 爬虫网站无德,任何非CSDN看到的这篇文章都是盗版网站,你也看不全。认准原始网址。!!! 从一开始,蓝牙低功耗(Bluetooth Low Energy,BLE)音频的开发就秉持着“以设…

外包干了3个月,技术退步明显。。。。。

先说一下自己的情况,大专生,17年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Lua函数

--函数--无参无返回值 function F1()print("F1函数") end F1() print("*****************")--有参 function F2(a)print("F2函数"..a) end F2(2) --如果传入参数和函数数量不一致 --不会报错只是补空 F2(1,2) print("*****************&quo…

Wireshark抓包分析ICMP协议

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的:分析ICMP协议的数据格式、报文…

机器人过程自动化(RPA)入门 4. 数据处理

到目前为止,我们已经了解了RPA的基本知识,以及如何使用流程图或序列来组织工作流中的步骤。我们现在了解了UiPath组件,并对UiPath Studio有了全面的了解。我们用几个简单的例子制作了我们的第一个机器人。在我们继续之前,我们应该了解UiPath中的变量和数据操作。它与其他编…

【免费】2023云栖大会门票开抢啦!数量有限,先到先得!

🎫 报名方式:点击链接即可免费报名! 🔗 2023云栖大会-领票页 📅 10月31日-11月2日,让我们齐聚云栖小镇!

Unity之NetCode多人网络游戏联机对战教程(3)--NetworkObject组件讲解

文章目录 NetworkObjectAlways Replicate As RootSynchronization TransformActive Scene SynchronizationScene Migration SynchronizationSpawn With ObserversDont Destroy With OwnerAuto Object Parent Sync 后话 NetworkObject 为了复制任何Netcode感知属性或发送/接收R…

Java线程池与ExecutorService教程:原理、应用与配置选项

多线程是Java中常用的技术,它可以提高程序的性能和并发处理能力。然而,直接使用Java中的Thread类创建和管理线程存在一些缺点,例如线程创建和销毁的开销很大,线程池的数量不易控制,易出现内存泄漏等问题。因此&#xf…

3、嵌入式系统的启动过程(BoodLoader)

1、系统启动过程 通电 - > 执行BootLoader - > 加载内核 - > 挂在根文件系统 - > 执行应用程序 Windows的启动过程: 通电 - > 执行BIOS - > 加载WinNT内核 - > 挂在文件系统 - > 执行应用程序 二、嵌入式系统的结构 BootLoader 1、BootL…

DM8归档管理

开启归档 归档的格式: ARCH_NAME_DB_MAGIC[SEQNO]_日期时间.log ARCH_NAME 是在 dmarch.ini中配置的 LOCAL/REMOTE 归档名称 DB_MAGIC 是生成日志的数据库魔数 SEQNO 代表DSC 节点号,日期时间是归档日志文件的创建时间。 eg:ARCHIVE_LOCAL1_…

SpringMVC 学习(二)Hello SpringMVC

3. Hello SpringMVC (1) 新建 maven 模块 springmvc-02-hellomvc (2) 确认依赖的导入 (3) 配置 web.xml <!--web/WEB-INF/web.xml--> <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee…

Vue项目自动转换px为rem-高保真还原设计图

前端开发中还原设计图的重要性毋庸置疑&#xff0c;目前来说应用最多的应该也还是使用rem。然而很多人依然还是处于刀耕火种的时代&#xff0c;要么自己去计算rem值&#xff0c;要么依靠编辑器安装插件转换。 而本文的目标就是通过一系列的配置后&#xff0c;在开发中可以直接使…

redis部署与管理

目录 一、关系数据库与非关系型数据库&#xff1a; 1. 关系型数据库&#xff1a; 2.非关系型数据库&#xff1a; 二、关系型数据库和非关系型数据库区别&#xff1a; &#xff08;1&#xff09;数据存储方式不同&#xff1a; &#xff08;2&#xff09;扩展方式不同&#xf…

libpcap抓包编程范式

一、源码构建libpcap库 1. 下载源码 wget https://www.tcpdump.org/release/libpcap-1.10.4.tar.gz2. 解压 tar xf libpcap-1.10.4.tar.gz3. 编译 cd libpcap-1.10.4 ./configure --prefix/opt/libpcap-1.10.4 make sudo make install二、编程 1. 打开抓包口 pcap_t * pc…

数据结构与算法基础-(3)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

构造函数不能做为虚函数

引用&#xff1a;windows程序员面试指南 构造函数不能做为虚函数 从存储空间角度 虚函数对应一个虚函数表&#xff0c;这大家都知道&#xff0c;可是这个虚函数表其实是存储在对象的内存空间的。问题出来了&#xff0c;如果构造函数是虚的&#xff0c;就需要通过虚函数表来调…