[云原生专题-15]:容器 - docker主机管理工具-docker machine
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[云原生专题-15]:容器 - docker主机管理工具-docker machine相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址: https://blog.csdn.net/HiWangWenBing/article/details/122730096
目录
3.1 列出docker machine工具当前管辖下的所有虚拟机
3.4 停止docker主机(docker machine)
3.5 启动docker主机(docker machine)
3.6 进入docker主机(docker machine)
第4章 docker-machine 工具其他的命令参数说明
前言:
在基于微服务+docker的应用中,我们会面临着大量的微服务,而这些微服务并不是部署在单一机器的host machine,基于微服务的应用,无论是微服务,还是部署微服务的host machine,都是可以弹性扩展或收缩的。为了能够方便、快速的创建可以部署docker的主机,为了能够方便、快速地在这些主机上部署docker应用,docker提供了 docker主机管理工具-docker machine。
在没有docker machine工具之前,程序员现在自己开发docker应用程序,然后手工登录到远程的云平台,创建新的云主机或其他虚拟机,然后再把应用程序部署到新的云主机或虚拟机上。
在有了docker machine工具之后,程序员就可以在自己的本地,通过docker machine工具,在本地批量创建大量的远程虚拟机,并对他们进行远程管理;同时可以在这些虚拟机上创建docker的环境,包括docker daemon;最后还可以在这些机器上部署docker应用程序。
因此,docker machine实际是运维管理工具,用于对运行docker的机器进行过管理。
第1章 什么是docker machine
1.1 Docker machine教程
1.2 Docker Machine概述
Docker Machine既指的是:能够运行docker的主机Host machine。
Docker Machine也指的是:能够管理docker host machine的工具。
Docker Machine 可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。
Docker Machine 是一个主机管理工具,它允许你在虚拟宿主机上安装Docker,并使用docker-machine命令管理这个宿主机(必须是虚拟的,还可以管理),可以使用Docker Machine在本地的虚拟机上(如MAC或者windows box、公司网络,数据中心)或者AWS这样的云提供商提供的云主机上创建docker。
使用docker-machine命令,可以实现三级的管理:
- 第一级:可以集中管理所有的docker主机。
- 第二级:可以集中升级Docker客户端和守护程序,并配置docker客户端和宿主机通信。
- 第三级:可以集中启动、审查、停止、重启被托管在所有主机上的所有docker
Docker Machine 是Docker官方编排项目之一,使用go语言编写的,除了支持本地的virtualbox,它还使用不同引擎,支持在多种云平台上快速的安装Docker环境,开源地址:GitHub - docker/machine: Machine management for a container-centric world。
目前支持的云平台有:
1.3 Docker Machine系统架构
第2章 docker machine工具的安装
2.1 前置条件
安装 Docker Machine 之前你需要先安装 Docker。
Docker Machine 可以在多种平台上安装使用,包括 Linux 、MacOS 以及 windows。
目前docker machine这个工具,还没有集成到docker中,因此需要通过github下载相关的软件:
https://github.com/docker/machine/releases/download/
2.2 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.3 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
2.4 Windows 安装命令
(1)命令行方式:
如果你是 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"
(2)IE浏览器方式:
https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-Windows-x86_64.exe
2.5 命令行查看是否安装成功:
$ docker-machine version docker-machine version 0.16.0, build 9371605
第3章 docker machine的使用
本章通过在Linux开发主机上,通过docker machine工具,创建本地的virtualbox虚拟机的方式,来介绍 docker-machine 的使用方法。其他云服务商操作与此基本一致。
3.1 列出docker machine工具当前管辖下的所有虚拟机
可以看到目前只有这里默认的 default 虚拟机。
$ docker-machine ls
3.2 创建新的虚拟机
创建一台名为 test 的机器。
$ docker-machine create --driver virtualbox test
- --driver:指定用来创建的虚拟机类型,这里是 本地的virtualbox虚拟机。也可以是支持云厂商的云主机。
3.3 查看docker主机的 ip
$ docker-machine ip test
3.4 停止docker主机(docker machine)
$ docker-machine stop test
3.5 启动docker主机(docker machine)
$ docker-machine start test
3.6 进入docker主机(docker machine)
$ docker-machine ssh test
备注:
进入docker主机后,就可以在docker主机上安装和操作:
- docker clientg、daemon等docker的环境
- docker的镜像
关于如何通过docker clienbt的命令操作docker环境,请参考docker的其他文章。
第4章 docker-machine 工具其他的命令参数说明
-
docker-machine active:查看当前激活状态的 Docker 主机。
$ docker-machine ls NAME ACTIVE DRIVER STATE URL dev - virtualbox Running tcp://192.168.99.103:2376 staging * digitalocean Running tcp://203.0.113.81:2376 $ echo $DOCKER_HOST tcp://203.0.113.81:2376 $ docker-machine active staging
- config:查看当前激活状态 Docker 主机的连接信息。
- create:创建 Docker 主机
- env:显示连接到某个主机需要的环境变量
- inspect: 以 json 格式输出指定Docker的详细信息
- ip: 获取指定 Docker 主机的地址
- kill: 直接杀死指定的 Docker 主机
- ls: 列出所有的管理主机
- provision: 重新配置指定主机
- regenerate-certs: 为某个主机重新生成 TLS 信息
- restart: 重启指定的主机
- rm: 删除某台 Docker 主机,对应的虚拟机也会被删除
- ssh: 通过 SSH 连接到远程的docker主机上,然后就可以执行docker命令了 。
- scp: 在 Docker 主机之间以及 Docker 主机和本地主机之间通过 scp 远程复制数据
- mount: 使用 SSHFS 从计算机装载或卸载目录
- start: 启动一个指定的 Docker 主机,如果对象是个虚拟机,该虚拟机将被启动
- status: 获取指定 Docker 主机的状态(包括:Running、Paused、Saved、Stopped、Stopping、Starting、Error)等
- stop: 停止一个指定的 Docker 主机,stop后的docker主机,还可以重新start
- upgrade: 将一个指定主机的 Docker 的版本更新为最新
- url: 获取指定 Docker 主机的监听URL
- version: 显示 Docker Machine 的版本或者主机 Docker 版本
- help: 显示帮助信息
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122730096
以上是关于[云原生专题-15]:容器 - docker主机管理工具-docker machine的主要内容,如果未能解决你的问题,请参考以下文章
[云原生专题-13]:容器 - 通过docker network 构建docker微服务网络:Docker network
[云原生专题-6]:容器 - Docker概述以及虚拟机的比较
[云原生专题-9]:容器 - Docker的启动与关闭:runstop