[云原生专题-15]:容器 - docker主机管理工具-docker machine

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[云原生专题-15]:容器 - docker主机管理工具-docker machine相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址: https://blog.csdn.net/HiWangWenBing/article/details/122730096


目录

前言:

第1章 什么是docker machine

1.1 Docker machine教程

1.2 Docker Machine概述

1.3 Docker Machine系统架构

第2章 docker machine工具的安装

2.1 前置条件

2.2 Linux 安装命令

2.3 macOS 安装命令

2.4 Windows 安装命令

2.5 命令行查看是否安装成功:

第3章 docker machine的使用

3.1 列出docker machine工具当前管辖下的所有虚拟机

3.2 创建新的虚拟机

3.3 查看docker主机的 ip

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教程

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

[云原生专题-20]:容器 - docker的常见命令

[云原生专题-6]:容器 - Docker概述以及虚拟机的比较

[云原生专题-9]:容器 - Docker的启动与关闭:runstop

[云原生专题-10]:容器 - Docker的修改保存共享:commitsaveload-v

[云原生专题-11]:容器 - 如何构建自己的docker镜像:Docker Dockerfile