English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Docker Machine

Введение

Docker Machine - это инструмент, который позволяет устанавливать Docker на виртуальном хосте и управлять им с помощью команды docker-machine.

Docker Machine также может управлять всеми docker хостами централизованно, например, быстро установить Docker на 100 серверов.

Виртуальные хосты, управляемые Docker Machine, могут быть как на компьютере, так и в облаке, например, на AliCloud, Tencent Cloud, AWS или DigitalOcean.

Используя команду docker-machine, вы можете запустить, проверить, остановить и перезапустить хост, а также обновить клиент и守护итель Docker, а также настроить клиент Docker для связи с вашим хостом.

Установка

Прежде чем устанавливать Docker Machine, вам нужно сначала установить Docker.

Docker Machine можно устанавливать и использовать на различных платформах, включая Linux, MacOS и Windows.

Команды установки 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

Команды установки 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

Команды установки 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 version
docker-machine version 0.16.0, build 9371605

使用

本章通过 virtualbox 来介绍 docker-machine 的使用方法。其他云服务商操作与此基本一致。具体可以参考每家服务商的指导文档。

1、列出可用的机器

可以看到目前只有这里默认的 default 虚拟机。

$ docker-machine ls

2、创建机器

创建一台名为 test 的机器。

$ docker-machine create --driver virtualbox test
  • --driver:指定用来创建机器的驱动类型,这里是 virtualbox。

3、查看机器的 ip

$ docker-machine ip test

4、停止机器

$ docker-machine stop test

5、启动机器

$ docker-machine start test

6、进入机器

$ docker-machine ssh test

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 主机的连接信息。

  • creat:创建 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: Получить URL для监听指定 Docker хоста

  • version: Показать версию Docker Machine или версию Docker на хосте

  • help: Показать информацию о помощи