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

Docker Machine

概要

Docker Machine は、仮想ホスト上に Docker をインストールできるツールであり、docker-machine コマンドを使用してホストを管理できます。

Docker Machine は、すべての docker ホストを一元管理することもできます。例えば、迅速に 100 台のサーバーに docker をインストールします。

Docker Machine が管理する仮想ホストは、ローカルホストまたはクラウドプロバイダー(アリクラウド、腾讯クラウド、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: 指定された Docker ホストのリスニング URL を取得

  • version: 表示 Docker Machine のバージョンまたはホスト Docker のバージョン

  • help: ヘルプ情報を表示