Docker Machine使用 电脑版发表于:2022/9/23 16:37 ### 简介 tn2>Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机,是Docker三剑客之一。<br> Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。 tn3>Docker Machine 管理的虚拟主机可以是虚拟机,本地主机,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean。<br> 使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。 ### 安装 安装 Docker Machine 之前你需要先安装 Docker。 Docker Machine 可以在多种平台上安装使用,包括 Linux 、MacOS 以及 windows。 tn4# Linux 安装命令 ``` base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine && sudo mv /tmp/docker-machine /usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine ``` tn4# macOS 安装命令 ``` base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine ``` tn4# Windows 安装命令 如果你是 Windows 平台,可以使用 Git BASH,并输入以下命令: ``` $ base=https://github.com/docker/machine/releases/download/v0.16.0 && mkdir -p "$HOME/bin" && curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && chmod +x "$HOME/bin/docker-machine.exe" ``` tn4# 安装完毕后可以执行命令,查看是否安装成功。 ``` docker-machine version ``` 成功安装输出如下: ``` [root@localhost ~]# docker-machine version docker-machine version 0.16.0, build 702c267f [root@localhost ~]# ``` ### 创建集群 tn4# 一:使用虚拟化平台virtualbox创建集群 前提是需要在机器环境下安装virtualbox ``` docker-machine create --driver virtualbox test ``` tn4#二:使用本地主机创建集群 ``` docker-machine create --driver generic --generic-ip-address=192.168.12.238 test ``` 接debug可以查看安装信息与错误信息等 ``` docker-machine --debug create --driver generic --generic-ip-address=192.168.12.238 test ``` 如果成功加入可以使用docker-machine ls列出可用的机器 ![](https://img.tnblog.net/arcimg/aojiancc2/b499e0e6b023487ca35a8cca992748e7.png) ### 创建集群的时候错误与问题解决 tn4# 错误解决:Creating machine 卡到Waiting for SSH to be available... 解决方法 **输入:** ``` ssh-keygen ``` 然后一直回车,如果提示已经创建过就覆盖 **然后使用ssh-copy-id拷贝公钥到需要管理的主机 ** ``` ssh-copy-id root@192.168.12.238 ``` 执行的时候要输入主机的登录密码 tn4# 解决等待时间比较久:Creating machine 卡到 Provisioning with centos... 接--debug看执行信息的时候会卡到sudo -E yum -y update -x docker-*,可能会等待很长的时间。 如果登录的时候比较长还没有执行成功,可以登录子节点里边去先执行sudo -E yum -y update -x docker-*命令 tn4# 解决错误:Unable to query docker version: Get https://192.168.12.238:2376/v1.15/version : dial tcp 192.168.12.238 2376: connect: no route to host 原因:远程主机未开放防火墙端口2376 直接关闭防火墙: systemctl stop firewalld systemctl disable firewalld ### 常用命令 查看版本 ``` docker-machine version ``` 加入机器 ``` docker-machine create ... ``` 列出可用的机器 ``` docker-machine ls ``` 删除机器 ``` docker-machine rm 集群里边的名字 ``` 其他: ``` config:查看当前激活状态 Docker 主机的连接信息。 create:创建 Docker 主机 env:显示连接到某个主机需要的环境变量 inspect: 以 json 格式输出指定Docker的详细信息 ip: 获取指定 Docker 主机的地址 kill: 直接杀死指定的 Docker 主机 ls: 列出所有的管理主机 provision: 重新配置指定主机 regenerate-certs: 为某个主机重新生成 TLS 信息 restart: 重启指定的主机 rm: 删除某台 Docker 主机,对应的虚拟机也会被删除 ssh: 通过 SSH 连接到主机上,执行命令 scp: 在 Docker 主机之间以及 Docker 主机和本地主机之间通过 scp 远程复制数据 mount: 使用 SSHFS 从计算机装载或卸载目录 start: 启动一个指定的 Docker 主机,如果对象是个虚拟机,该虚拟机将被启动 status: 获取指定 Docker 主机的状态(包括:Running、Paused、Saved、Stopped、Stopping、Starting、Error)等 stop: 停止一个指定的 Docker 主机 upgrade: 将一个指定主机的 Docker 版本更新为最新 url: 获取指定 Docker 主机的监听 URL version: 显示 Docker Machine 的版本或者主机 Docker 版本 help: 显示帮助信息 ``` **视频讲解地址:** 链接: https://pan.baidu.com/s/1ChiZzapvK12BcPr56WHEtw?pwd=akxv 提取码: akxv 复制这段内容后打开百度网盘手机App,操作更方便哦