【云原生|Docker系列7】Docker Machine 使用详解

前言

Docker Machine是负责使用 Docker 容器的第一步:在多种平台上快速安装和维护 Docker运行环境。它支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套 Docker 主机集群。本文主要学习Docker Machine项目的具体情况,以及安装和使用的相关命令。

在这里插入图片描述

简介

Machine 项目是 Docker 官方的开源项目,负责实现对 Docker 运行环境进行安装和管理,特别在管理多个 Docker 环境时,**Docker Machine **可以集中管理所有的 docker 主机,比如快速的给 300 台服务器安装上 docker。

Machine的定位是“在本地或者云环境中创建Docker 主机"。其代码在https://github.com/docker/machine 上开源。

使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。
在这里插入图片描述

安装

Docker Machine 可以在多种平台上安装使用,包括 Linux 、MacOS 以及 windows。

相关版本https://github.com/docker/machine/releases

1、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

2、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

3、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"

版本查看

docker-machine -v
docker-machine version 0.16.0, build 702c267f

使用

1、虚拟机

可以通过 virtualbox 驱动支持本地(需要已安装virtualbox) 启动一个虚拟机环境,并配置为 Docker 主机:

docker-machine create --driver=virtualbox test 

–driver:指定用来创建机器的驱动类型,这里是 virtualbox。

将启动一个全新的虚拟机,并安装 Docker 引擎。
安装成功后,可以通过docker-machine env 命令查看访问所创建 Docker 环境所需要的配置信息:

docker-machine env test

2、本地主机

这种驱动适合主机操作系统和 SSH 服务都巳经安装好,需要对其安装 Docker 引擎。
首先确保本地主机可以通过 user 账号的 key 直接 ssh 到目标主机。使用generic 类型的驱动,注册一台 Docker 主机,命名为 test:

 docker-machine create -d generic --generic-ip-address=lO.0.100.102 --generic-ssh-user=user test

3、云平台驱动

Amazon Web Services 云平台为例,配置其上的虚拟机为 Docker 主机。
需要指定 Access Key ID Secret Access Key VPCID 等信息。例如:

docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C********* --amazonec2-vpc-id vpc-****** aws_instance

客户端配置

默认情况下,所有的客户端配置数据都会自动存放在~/.docker/machine/machines/路径下。用户可以定期备份这一目录以避免出现客户端连接配置丢失。

当然,该路径下内容仅为客户端侧的配置和数据,删除其下内容并不会影响到已经创建Docker 环境。

操作命令

docker-machine 命令参数说明

active:查看当前激活状态的 Docker 主机

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: 显示帮助信息

在这里插入图片描述
点赞 收藏 关注
世事洞明皆学问,人情练达即文章。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>