Docker Machine

Machine (マシン)を使えば、自分のコンピュータ上、クラウド・プロバイダ上、またはあなたのデータセンター上に Docker ホスト(Dockerの動作環境)を作ることができます。自動的にホストを作成し、そこに Docker をインストールし、 docker クライアントがそのホストと通信できるように調整します。ひとつの “machine” は、Docker ホストと、そのホスト用に設定されたクライアントで構成されています。

1つまたは複数の Docker ホストを作った後は、Docker Machine はこれらを管理するための、複数のコマンドを提供します。次のようなコマンドが利用可能です。

  • Docker ホストに対する start(開始)、inspect(調査)、stop(停止)、restart(再起動)
  • Docker クライアントとデーモンの upgrade(更新)
  • Docker クライアントがホストと通信できるよう configure(設定)

インストール用のドキュメントをお探しですか?

Windows か Mac の場合、Docker Machine は Docker Toolbox のインストールで入手できます。Linux の場合や Docker Toolbox を使わず Machine のみインストールしたい場合は、Machine のインストール方法 をお読みください。

Docker Machine 基本概念の理解

Docker Machine は仮想マシン上に Docker をプロビジョン(訳者注:自動的にセットアップ)します。仮想マシンはローカルのシステム上だけではなく、クラウド・プロバイダ上でも利用できます。Docker Machine は仮想マシン上にホストを作成し、Docker Engine クライアントで、そのホスト上でイメージの構築やコンテナの作成を行えるようにします。

仮想マシンの作成にあたり、Docker machine に対して利用したいドライバ名を伝えます。ドライバとは仮想化の環境を表すものです。例えば、ローカルの Linux、Mac、Windows システムにおける典型的なドライバは、Oracle Virtual Box です。クラウド・プロバイダであれば、Docker Machine は AWS、Microsoft Azure、Digital Ocean など多くのドライバをサポートしています。Docker Machine のリファレンスには、サポートしているドライバ一覧 のリストがあります。

Docker は Linux 上で動作するため、Docker Machine がプロビジョンする仮想マシンは、ベース・オペレーティング・システムを頼りとします。便宜上、標準のベース・オペレーティング・システムがあります。Oracle Virtual Box ドライバの場合は、このベース・オペレーティング・システムは boot2docker.iso になります。ドライバがクラウド・プロバイダに接続する場合、ベース・オペレーティング・システムは Ubuntu 12.04 以上です。仮想マシン作成時、この標準設定を変更可能です。Docker Machine リファレンスには、サポートしているオペレーティング・システムの一覧 があります。

作成した各マシンにおいて、Docker ホストのアドレスは、その Linux 仮想マシンの IP アドレスです。この IP アドレスは docker-machine create サブコマンド実行時に割り当てられます。docker-machine ls コマンドは、作成したマシンの一覧を表示します。docker-machine ip <マシン名> コマンドは、指定したホストの IP アドレスを返します。

仮想マシン上で docker コマンドを実行しなくても、手元のコマンドラインで対象マシン上の docker を操作するよう設定することができます。 docker-machine env <マシン名> サブコマンドの出力結果が、使うべきコマンドです。Docker ホスト上でコンテナを実行すると、コンテナのポートが仮想マシン上のポートに割り当てられます。

docker-machine サブコマンドの完全な一覧は、 Docker Machine サブコマンド・リファレンス をご覧ください。

ヘルプを得るには

Docker Machine は、初期段階であり活発に開発が進んでいます。ヘルプが必要な場合、貢献したい場合、あるいはプロジェクトの同志と対話したい場合、コミュニケーションがとれるよう、私たちは多くのオープンなチャンネルを用意しています。

  • バグ報告や機能リクエストは、 GitHub の issue トラッカー をご利用ください。
  • プロジェクトのメンバーとリアルタイムに会話したければ、IRC の #docker-machine チャンネルにご参加ください。
  • コードやドキュメントの変更に貢献したい場合は、GitHub にプルリクエスト をお送りください。

より詳細な情報やリソースについては、私たちの ヘルプ用ページ(英語) をご覧ください。

次はどこへ行きますか?