【赵渝强老师】使用Docker Machine远程管理Docker

ops/2024/9/20 7:18:41/ 标签: docker, 容器, 云原生

在这里插入图片描述

  Docker Machine是Docker官方提供的一个远程管理工具。通过使用Docker Machine,可以帮助开发人员在远程主机上安装Docker;或者在远程的虚拟主机上直接安装虚拟机并在虚拟机中安装Docker。Docker Machine还提供了相应的命令来管理这些远程的Docker环境和虚拟机。下图是官方提供的一张关于Docker Machine的图片,很形象地说明了Docker Machine的功能。

在这里插入图片描述
  视频讲解如下:

使用Docker Machine远程管理Docker

【赵渝强老师】使用Docker Machine远程管理Docker

一、在远程宿主机上安装Docker

  安装好了Docker Machine以后,就可以通过命令"docker-machine"来管理远程主机上的Docker环境了。参考下表单独准备一台新的虚拟机node2,下表列出了目前使用的三台虚拟机的信息。由于已经在master主机上安装好了Docker Machine,便可以通过"docker-machine"的命令远程在node2上安装Docker,并且管理它。
在这里插入图片描述

  由于Docker Machine在进行远程管理的时候,需要免密码登录的支持。因此在使用"docker-machine"命令之前,需要先配置主机之间的免密码登录,然后才能使用Docker Machine。

1.1 配置主机间的免密码登录

  免密码登录采用的不对称加密的认证方式,需要产生密钥对,即:一个公钥和一个私钥,其本质就是两个字符串。公钥负责加密;而私钥负责解密。下图为大家展示了免密码登录的过程。图中我们想从Server A免密码登录到Server B,这时候我们就可以从Server A到Server B的免密码登录。

在这里插入图片描述

提示:免密码登录是单向的。如果想反过来,从Server B免密码登录Server A上,也需要单独进行配置。

  在了解了免密码登录的登录过程后,下面的步骤演示了如何配置从master节点到node2节点的免密码登录。

(1)在master节点上生成公钥与私钥,执行下面的命令:

ssh-keygen -t rsa

(2)将master节点的公钥负责到node2上,执行下面的命令:

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.79.13

提示:由于还没有完成免密码登录的配置,因此这一步要输入node2的密码。

(3)在master节点上输入下面的命令,验证免密码登录。这时候发现将不需要输入node2的命名便可以直接从master节点登录到node2节点。

ssh 192.168.79.13

dockermachineDocker_52">1.2 使用"docker-machine"在远程主机上安装Docker

  在配置好了master节点与node2节点之间的免密码登录后,便可以在master节点上使用"docker-machine"命令在node2上远程安装Docker。执行下面的步骤:

(1)在master节点上,执行下面的命令,如下图所示。

docker-machine create \
-d generic \
--generic-ip-address=192.168.79.13 \
--generic-ssh-user=root \
--generic-ssh-key /root/.ssh/id_rsa node2

其中的参数:

  • -d:表示使用的驱动类型,官方支持的驱动有:amazonec2、azure、digitalocean、exoscale、generic、google、hyperv、none、openstack、rackspace、softlayer、virtualbox、vmwarevcloudair、vmwarefusion、vmwarevsphere。

  • –generic-ip-address:远端主机的IP地址。

  • –generic-ssh-user:远程登录的用户名。

  • –generic-ssh-key:免密码登录的私钥文件。

  • node2:远端主机的别名。

提示:这条命令将会执行很长的时间。

  当"docker-machine create"命令成功执行完成后,通过打印输出的日志可以看到在远程主机上已经成功安装了Docker并且启动成功,如下图所示。
在这里插入图片描述

(2)在node2节点上,执行下面的命令检查Docker的版本信息。

docker version

提示:在执行"docker-machine create"命令时,将会把远端主机的主机名修改为指定的别名。由于这里使用的别名是"node2",所以看不出区别。

(3)在master节点上,执行下面的命令查看由Docker Machine管理的远程主机信息,如下图所示。
在这里插入图片描述

二、管理远程的Docker主机

  下面将通过几个具体的示例来演示一些常用命令的使用方式和它们输出的结果信息。

  • 下面的命令将显示远端主机的环境变量信息,如下图所示。
docker-machine env node2

  这条命令输出的内容可以作为环境变量参数来设置一些Docker客户端,从而让本机的Docker客户端可以与远程的Docker服务器通信。其中,node2是我们之前创建的远端服务器的名字。
在这里插入图片描述

  • 下面的命令将设置本地的环境变量,以操作远端主机node2上Docker守护进程。
eval $(docker-machine env node2)

  该命令是运行在当前的命令行终端中,但使用该命令后接下来运行的docker命令操作的都是远端主机。例如:在master主机上执行该命令后,尝试拉取一个Nginx镜像。这时将在远端主机的node2上完成Nginx镜像的拉取,如下图所示。
在这里插入图片描述

  • 下面的命令将启动、停止和重启远端主机上的Docker环境。
docker-machine start/stop/restart node2

提示:generic驱动类型不支持stop命令。

  • 下面的命令将查看远端主机上的Docker状态。
docker-machine status node2
  • Docker Machine同时也支持SSH登录,下面的命令将从master主机上以SSH方式登录到远端主机node2上。
docker-machine ssh node2

http://www.ppmy.cn/ops/100624.html

相关文章

每天一个数据分析题(四百九十八)- Apriori算法

Apriori算法中,候选序列的个数比候选项集的个数大得多,产生更多候选的原因有? A. 一个项在项集中最多出现一次,但一个事件可以在序列中出现多次 B. 一个事件在序列中最多出现一次,但一个项在项集中可以出现多次 C. 次序在序列中…

【自动驾驶】决策规划算法概述

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

JavaEE-传输层协议

目录 一、UDP协议 二、TCP协议 TCP报文结构 TCP十大核心机制 确认应答 超时重传 接收缓冲区 连接管理 建立连接 断开连接 一、UDP协议 学习一个网络协议首先要学习报文结构。 对于UDP协议来说,应用层数据到达UDP后就会给应用层数据加上UDP报头。 &#…

智能新时代:探索【人工智能】、【机器学习】与【深度学习】的前沿技术与应用

目录 1. 引言 1.1 人工智能的概念与历史 1.2 机器学习与深度学习的演进 1.3 计算机视觉的崛起与应用场景 2. 人工智能基础 2.1 什么是人工智能? 2.2 人工智能的分类 2.3 人工智能的现实应用 3. 机器学习 3.1 机器学习的定义与基本原理 3.2 机器学习的主要…

如何给文档加密?文档加密软件是什么样的?

一、如何给文档加密? 1、利用第三方加密软件(1)选择合适的加密软件:市面上有许多专门的加密软件,这些软件通常提供更多的加密选项和更强的安全性能。(2)操作第三方加密软件:安装并打…

推荐一款低成本 小尺寸数字脉冲编码调制(PCM)输入D类功率放大器 MAX98357AETE+T 兼具AB类性能

MAX98357AETET是数字脉冲编码调制(PCM)输入D类功率放大器,可提供AB类音频性能,同时具有D类的效率。器件在I2S/左对齐模式下通过单个增益设置输入可提供5中可选择增益(3dB、6dB、9dB、12dB、15dB),在TDM模式下为固定12dB增益。 数字音频接口高…

Linux驱动学习之内核poll阻塞

在linux系统编程课程中学习过多路IO复用,简单来说就三个函数select,poll,epoll。 对于select 此函数是跨平台的,可以在windows,Linux中使用。 对于poll与epoll 只能在linux平台下使用, epoll底层实现是一个…

WebSocket、Socket和Netty的关系

目录 WebSocket、Socket和Netty的关系 WebSocket Socket Netty 关系总结 Socket API 有那些? 1. socket() 2. bind() 3. listen() 4. accept() 5. connect() 6. send() 和 recv() 7. close() 8. shutdown() 9. inet_pton() 和 inet_ntop() 10. setso…

Windows系统安装MySQL

下载MySQL 打开网址MySQL :: Download MySQL Community Server点击图下所示位置Download 进入图下所示界面,点击图下所示位置不登录下载 已下载完成 安装MySQL 将下载好的压缩包解压到一个专门的位置,该软件为绿色版软件,解压即可使用 配置…

Spring 中的BeanPostProcessor

BeanPostProcessor 是 Spring Framework 中的一个接口,用于对 bean 实例进行自定义处理,它位于 org.springframework.beans.factory.config 包下。该接口允许开发者在 Spring 容器创建 bean 实例后进行处理,或在 bean 实例初始化过程中进行自…

单调栈 LeetCode 1130. 叶值的最小代价生成树

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 给你一个正整数数组 arr,考虑所有满足以下条件的二叉树: 每个节点都有 0 个或是 2 个子节点。数…

论坛系统登录测试结果

目录 1 登录成功1.1 输入合法已注册手机号 2 登录失败2.1 输入未注册手机号2.2 输入非法手机号2.3 输入错误、过期验证码 论坛系统——部分测试用例 1 登录成功 1.1 输入合法已注册手机号 打开登录界面 输入已注册手机号 点击发送验证码 输入验证码,点击登录按钮 …

架构师面试题系列之Spring MVC面试专题及答案(31题)

目录 1、什么是 SpringMvc?说一下你对它的理解2、SpringMVC 的优点 :3、SpringMVC 工作原理?4、SpringMVC 的主要组件?5、讲下 SpringMvc 的执行流程6、SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代?7、如果在拦截请求中,想拦截 get 方式提交的方法,怎么…

Python接口自动化测试:断言封装详解

在进行API接口测试时,断言起着至关重要的作用。断言是用于验证预期结果与实际结果是否一致的过程。在Python中,我们可以利用一些库来实现断言功能。 1. 安装必要的库 在Python中,我们主要会使用两个库:requests和jsonpath。requ…

解析阿里巴巴中国站商品详情API返回值的更新与变化

阿里巴巴中国站(通常指的是1688.com,阿里巴巴的国内批发平台)的商品详情API返回值可能会随着平台功能的更新、数据结构的调整或API版本的迭代而发生变化。为了准确解析这些更新与变化,你可以采取以下几个步骤: 1. 查阅…

2024焊工操作证考试在线模拟考试题

焊工证考试试题分为理论《焊工理论知识》考试和《焊工实操知识》专业能力考核。 焊工证考试试题理论知识考试采用闭卷电脑答题方式;理论知识考试和实操考核均实行百分制,焊工证考试成绩皆达80分及以上者为合格。 以下为焊工理论考试模拟试题&#xff0c…

apache httpclient速成

目录标题 快速使用连接池参数连接池状态清除闲置连接evictIdleConnections删除过期连接 timeToLive 和evictExpiredConnections 注意释放内存关闭流 http和netty的关系 导入依赖 <dependency><groupId>org.apache.httpcomponents.client5</groupId><artif…

QT通过信号传递参数至槽函数(不通层级通信)

传递参数参数多个&#xff0c;采用map&#xff0c;一直insert 前提&#xff0c; //map类型 typedef QMap <unsigned int , QByteArray> Map;//信号和槽的声明 signals:void sigToCems(InfoMap);void slotFromEms(Map Map);// 发射点&#xff1a;由事件触发 //Addr_EM…

龙旭 付玲云新歌推出原创歌曲热榜

盘点2024年8月全国受关注的经典热门歌曲你更爱那首&#xff1f; 歌曲1.《甜妹专属BGMentertainer》&#xff0c;2.情歌专属《尘世情缘》情歌唱给谁来听&#xff0c;3.巜迟来的情话》听完敢不敢留下你最想对TA说的话如果在18我没能送你花&#xff0c;那到28我请你喝酒吧&#x…

Linux驱动开发—设备模型框架 kobject创建属性文件

文章目录 什么是属性文件&#xff1f;1. sysfs 与 kobject2. 属性文件的作用3. 属性文件的基本操作4. 典型的属性文件用例5. 创建属性文件的步骤6.示例代码7.效果图 使用 ATTR 宏定义优化__ATTR用法解析1. __ATTR() 宏的定义2. __ATTR() 宏的参数3.优化示例 优化关键点解析1. 数…