当前位置: 首页 > news >正文

Docker三剑客之docker-machine

Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。
Docker三剑客之docker-machine
Docker -Machine支持在不同环境下安装配置docker host,包括:
1.常规Linux操作系统;
2.虚拟化平台-VirtualBox,VMware,Hyper-V
3.Openstack
4.公有云-Amazon Web Services,Microsoft Azure,Google Compute Engine,Digital Ocean等

环境介绍:

主机ip地址角色
Centos7192.168.70.128docker-machine
Centos7192.168.70.129install-node1
Centos7192.168.70.132install-node2

docker-machine 安装官方https://docs.docker.com/machine/install-machine/#install-machine-directly

1、下载docker-machine

[root@localhost ~]# curl -L https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine

Docker三剑客之docker-machine
2、添加执行权限,并复制到bin目录,作为全局命令

[root@localhost /]# chmod +x /tmp/docker-machine
[root@localhost /]# cp /tmp/docker-machine /usr/local/bin/docker-machine

3、查看版本

[root@localhost /]# docker-machine -version
docker-machine version 0.16.0, build 702c267f

4、安装命令补全工具

[root@localhost /]# vim docker-machine.sh

#!/bin/bash
base=https://raw.githubusercontent.com/docker/machine/v0.16.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
  sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done

[root@localhost /]# chmod +x docker-machine.sh

Docker三剑客之docker-machine

执行脚本,返回如下信息。

[root@localhost /]# ./docker-machine.sh

--2018-12-27 20:17:36--  https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine-prompt.bash
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1469 (1.4K) [text/plain]
正在保存至: “/etc/bash_completion.d/docker-machine-prompt.bash”

100%[==========================================================================>] 1,469       --.-K/s 用时 0s      

2018-12-27 20:17:40 (190 MB/s) - 已保存 “/etc/bash_completion.d/docker-machine-prompt.bash” [1469/1469])

--2018-12-27 20:17:40--  https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine-wrapper.bash
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1525 (1.5K) [text/plain]
正在保存至: “/etc/bash_completion.d/docker-machine-wrapper.bash”

100%[==========================================================================>] 1,525       --.-K/s 用时 0s      

2018-12-27 20:17:44 (179 MB/s) - 已保存 “/etc/bash_completion.d/docker-machine-wrapper.bash” [1525/1525])

--2018-12-27 20:17:44--  https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine.bash
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12211 (12K) [text/plain]
正在保存至: “/etc/bash_completion.d/docker-machine.bash”

100%[==========================================================================>] 12,211      --.-K/s 用时 0.002s  

2018-12-27 20:17:47 (5.12 MB/s) - 已保存 “/etc/bash_completion.d/docker-machine.bash” [12211/12211])

5、添加环境变量

[root@localhost /]# vim ~/.bashrc #末行添加如下

source /etc/bash_completion.d/docker-machine-wrapper.bash
source /etc/bash_completion.d/docker-machine-prompt.bash
source /etc/bash_completion.d/docker-machine.bash
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '

[root@localhost /]# source ~/.bashrc

6、设置ssh秘钥,免秘钥登陆

[root@localhost /]# ssh-keygen -t rsa

Docker三剑客之docker-machine

7、分发秘钥

[root@localhost /]# ssh-copy-id root@192.168.70.129
主机132如法炮制分发秘钥

Docker三剑客之docker-machine

8、免密代理

[root@localhost /]# ssh-agent bash
[root@localhost /]# ssh-add
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

9、测试免密

[root@localhost /]# ssh root@192.168.70.129 #无需输入密码即可跳转
Last login: Thu Dec 27 20:01:17 2018 from 192.168.70.1
[root@docker1 ~]# exit
登出
Connection to 192.168.70.129 closed.

10、开始创建docker节点主机

[root@localhost /]# docker-machine ls #可以看到我们没有任何一台 被管理的主机
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS


[root@localhost /]# docker-machine create --driver generic --generic-ip-address=192.168.70.132 docker2

Docker三剑客之docker-machine
Docker三剑客之docker-machine

这样我们就通过docker-machine创建好了我们的docker主机了,以下是一些常用命令。

docker-machine的一些命令操作
active 查看当前激活状态的docker主机
config 查看到激活状态docker主机的连接信息
create 创建一个docker主机
evn 显示连接到docker主机的详细信息
inspect 以json格式输出指定docker主机的详细信息
ip 获取指定docker主机地址
kill 直接杀死指定docker主机
ls 列出所有管理主机
regenerate-certs 为某个主机重新生成TLS认证信息
restart 重启指定docker主机
rm 删除某台docker主机,对应虚拟机会被删除
scp 在docker知己知己和docker主机和本地直接通过scp来远程复制文件
ssh 通过ssh连接到主机上,执行命令
start 启动一个指定docker主机。如果对象是虚拟机,该虚拟机会被启动
status 获取指定docker主机状态
stop 停止一个docker主机
upgrade 将指定主机docker版本更新到最新
url 获取指定docker主机的监听url
help 获取帮助

转载于:https://blog.51cto.com/13760226/2336196

相关文章:

  • 正者表达式exec和match
  • Linux操作系统有什么吸引力,在程序员中这么受欢迎!
  • Oracle常用语句
  • Ubuntu Vscode安装
  • wx2tt 微信小程序转头条小程序工具
  • Min_25筛
  • spring-boot切面编程-日志记录
  • 从0到1学C++ 第2篇 认识C++面向过程编程的特点
  • Java01
  • 苹果下调财收预期,致使股价大跌近10%,万亿身家缩水近一半
  • 图像的等距变换,相似变换,仿射变换,射影变换
  • 解决NoclassDefFoundError 打印一个类的java路径
  • 从Lucene到Elasticsearch:从 Lucene 到 ElasticSearch
  • 【文文殿下】ExBSGS
  • [HNOI2008]Cards
  • [译]前端离线指南(上)
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Docker入门(二) - Dockerfile
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java 多线程编程之:notify 和 wait 用法
  • PAT A1092
  • Python实现BT种子转化为磁力链接【实战】
  • python学习笔记-类对象的信息
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • spring boot 整合mybatis 无法输出sql的问题
  • supervisor 永不挂掉的进程 安装以及使用
  • 创建一种深思熟虑的文化
  • 机器学习 vs. 深度学习
  • 技术胖1-4季视频复习— (看视频笔记)
  • 如何实现 font-size 的响应式
  • 微信小程序设置上一页数据
  • 以太坊客户端Geth命令参数详解
  • 转载:[译] 内容加速黑科技趣谈
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 阿里云ACE认证之理解CDN技术
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (2022 CVPR) Unbiased Teacher v2
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • ./和../以及/和~之间的区别
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Core 中间件验签
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET/C# 使用反射注册事件
  • .Net6使用WebSocket与前端进行通信
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?