• 【云原生丨Docker系列11】Docker Machine 操作详解


    前言

    Docker Machine 是 Docker 官⽅提供的⼀个⼯具,它可以帮助我们在远程的机器上安装 Docker,并可以使用 docker-machine 命令来管理主机。它也可以集中管理所有的 docker 主机,比如快速的给 500 台服务器安装上 docker。本节将介绍 Docker Machine 的安装及使⽤。


    目录

    一、安装

    macOS、Windows

    Linux

    二、使用方法

    创建本地主机实例Virtualbox 驱动

    MacOS xhyve 驱动

    Windows 10

    三、使用介绍

    官方支持驱动

    操作命令


    一、安装

    Docker Machine 是 Docker 官⽅编排(Orchestration)项⽬之⼀,负责在多种平台上快速安装 Docker 环境,该项⽬基于 Go 语⾔实现,⽬前在Github上进⾏维护。 Docker Machine 可以在多种操作系统平台上安装,包括 Linux、macOS,以及 Windows。


    macOS、Windows

    Docker for Mac、Docker for Windows ⾃带 docker-machine ⼆进制包,安装之后即可使⽤。查看版本信息。

    1. $ docker-machine -v
    2. docker-machine version 0.13.0, build 9ba6da9

    Linux

    在 Linux 上的也安装⼗分简单,从官⽅ GitHub Release处直接下载编译好的⼆进制⽂件即可。 例如, 在 Linux 64 位系统上直接下载对应的⼆进制包。

    1. $ sudo curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-` uname -s`-`uname -m` > /usr/local/bin/docker-machine
    2. $ sudo chmod +x /usr/local/bin/docker-machine

    完成后,查看版本信息。

    1. $ docker-machine -v
    2. docker-machine version 0.13.0, build 9ba6da9

    二、使用方法

    Docker Machine ⽀持多种后端驱动,包括虚拟机、本地主机和云平台等。

    创建本地主机实例Virtualbox 驱动

    使⽤ virtualbox 类型的驱动,创建⼀台 Docker 主机,命名为 test。

    $ docker-machine create -d virtualbox test

    你也可以在创建时加上如下参数,来配置主机或者主机上的 Docker。

    --engine-opt dns=114.114.114.114配置 Docker 的默认 DNS

    --engine-registry-mirror https://registry.docker-cn.com配置 Docker 的仓库镜像

    --virtualbox-memory 2048 配置主机内存

    --virtualbox-cpu-count 2 配置主机 CPU

    更多参数请使⽤ docker-machine create --driver virtualbox --help 命令查看。

    1. $ docker-machine create -d generic \
    2. --generic-ip-address=123.59.188.19 \
    3. --generic-ssh-user=root \
    4. --generic-ssh-key ~/.ssh/id_rsa \
    5. dev

    MacOS xhyve 驱动

    xhyve 驱动 GitHub: https://github.com/zchee/docker-machine-driver-xhyve,`xhyve`是`MacOS`上轻量化的虚拟引擎,使⽤其创建的 Docker Machine 较 VirtualBox 驱动创建的运⾏效率要⾼。

    1. $ brew install docker-machine-driver-xhyve
    2. ......
    3. $ docker-machine create \
    4. -d xhyve \
    5. # --xhyve-boot2docker-url ~/.docker/machine/cache/boot2docker.iso \
    6. --engine-opt dns=114.114.114.114 \
    7. --engine-registry-mirror https://registry.docker-cn.com \
    8. --xhyve-memory-size 2048 \
    9. --xhyve-rawdisk \
    10. --xhyve-cpu-count 2 \
    11. xhyve

    注意:⾮⾸次创建时建议加上--xhyve-boot2docker-url ~/.docker/machine/cache/boot2docker.iso 参数,避免每次创建时都从 GitHub 下载 ISO 镜像。

     更多参数请使⽤ docker-machine create --driver xhyve --help 命令查看。


    Windows 10

    Windows 10 安装 Docker for Windows 之后不能再安装 VirtualBox ,也就不能使⽤ virtualbox 驱动来创建 Docker Machine,我们可以选择使⽤ hyperv 驱动。

    $ docker-machine create --driver hyperv vm

    更多参数请使⽤ docker-machine create --driver hyperv --help 命令查看。


    三、使用介绍

    创建好主机之后,查看主机

    1. $ docker-machine ls
    2. NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORStest - virtualbox Running tcp://192.168.99.187:2376 v17.1 0.0-ce

    创建主机成功后,可以通过 env 命令来让后续操作对象都是⽬标主机。

    $ docker-machine env test

    后续根据提示在命令⾏输⼊命令之后就可以操作 test 主机。也可以通过 SSH 登录到主机。

    1. $ docker-machine ssh test
    2. docker@test:~$ docker --version
    3. Docker version 17.10.0-ce, build f4ffd25

    连接到主机之后你就可以在其上使⽤ Docker 了。


    官方支持驱动

    通过 -d 选项可以选择⽀持的驱动类型:

    amazonec2

    azure

    digitalocean

    exoscale

    generic

    google

    hyperv

    none

    openstack

    rackspace

    softlayer

    virtualbox

    vmwarevcloudair

    vmwarefusion

    vmwarevsphere


    操作命令

    active                  查看活跃的 Docker 主机
    config                  输出连接的配置信息
    create                  创建⼀个 Docker 主机
    env                      显示连接某个主机需要的环境变量
    inspect                 输出主机更多信息
    ip                          获取主机地址
    kill                        停⽌某个主机
    ls                          列出所有管理的主机
    provision              重新设置⼀个已存在的主机
    regenerate-certs  为某个主机重新⽣成 TLS 认证信息
    restart                  重启主机
    rm                        删除某台主机
    ssh SSH              到主机上执⾏命令
    scp                       在主机之间复制⽂件
    mount                  挂载主机⽬录到本地
    start                     启动⼀个主机
    status                  查看主机状态
    stop                     停⽌⼀个主机
    upgrade               更新主机 Docker 版本为最新
    url                        获取主机的 URL
    version                输出 docker-machine 版本信息
    help                     输出帮助信息

    每个命令,⼜带有不同的参数,可以通过如下命令来查看具体的⽤法:

    $ docker-machine COMMAND --help

  • 相关阅读:
    AI类APP上线需要注意的问题
    【Linux】Linux 指令练习题
    [ Python+OpenCV+Mediapipe ] 实现对象识别
    some(),every()
    1019 数字黑洞
    基于神经元特性的径向基函数神经网络自组织设计方法
    java中并发包
    《LeetCode力扣练习》代码随想录——二叉树(平衡二叉树---Java)
    谈谈2022.2.28的软件测试面试的感受
    安科瑞预付费平台在转供电的应用-Susie 周
  • 原文地址:https://blog.csdn.net/m0_63947499/article/details/126165373