Machine の概念に対する理解とヘルプを得る

Docker Machine を使えば、様々な環境・様々な仮想マシン上で Docker が動くマシンを自動作成できます。これはローカルのシステム上だけでなく、クラウド・プロバイダ上でも、ベアメタル・サーバ(物理コンピュータ)上でも可能です。Docker Machine で Docker ホストを作成したら、Docker Engine クライアントを使えば、必要に応じてホスト上でイメージの構築やコンテナ作成が可能になります。

マシン作成用のドライバ

仮想マシンを作成するには、Docker Machine 実行時に使いたいドライバの名前を指定します。ドライバの選択は、仮想マシンをどこで作成するかによります。例えば、ローカルの Mac や Windows システム上であれば、Oracle VirtualBox が一般的なドライバになります。物理マシン上にプロビジョニングする場合は generic (ジェネリック)ドライバです。クラウド・プロバイダであれば、 Docker Machine は AWS ・ Microsoft Azure ・ Digital Ocean 等々に対応してます。Docker Machine のリファレンスに サポートしているドライバ一覧 があります。

ローカルまたはクラウド上でデフォルトのベース OS

Docker を Linux 上で動かす場合、Docker Machine のプロビジョニングは仮想マシンのベースとなるオペレーティング・システムに依存します。簡単なのはデフォルトのベース・オペレーティング・システムを使うことです。Oracle Virtual Box ドライバであれば、ベースにするオペレーティング・システムは boot2docker です。クラウド・プロバイダを使う場合はベース・オペレーティング・システムは Ubuntu 12.04 以上です。このデフォルトはマシン作成時に変更できます。Docker Machine リファレンスの サポートしているオペレーティング・システムの一覧 をご覧ください。

Docker ホストの IP アドレス

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

CLI の操作対象 Docker ホストを環境変数で指定

マシン上で docker コマンドを実行する前に、コマンドライン上で対象のマシンを指定する必要があります。 docker-machine env <マシン名> サブコマンドを実行したら、適切な命令を出力します。

docker-machine サブコマンドの一覧は Docker Machine サブコマンド をご覧ください。

クラッシュ報告

ホストのプロビジョニングには複雑な問題があり、様々な理由により失敗する場合があります。皆さんの作業環境ではシェル、ネットワーク設定、VPN、プロキシやファイアウォールに関する多くの問題があるかもしれません。また、これが他との問題の切り分け箇所(クラウド・プロバイダ、あるいは、ネットワーク間での問題か)になります。

docker-machine が安定するための手助けとなるよう、私たちはホスト上で createupgrade を試みるときクラッシュ(障害情報)を監視できるようにしました。クラッシュ報告は HTTPS を経由して送信します。送信される情報は docker-machine のバージョン、構築に関して、OS 、アーキテクチャ、現在のシェル上のパス、ホスト上での直近の履歴といった、 --debug オプション指定時に参照できるものです。送信されたデータは docker-machine 実行時にどのような問題が発生しているかを、ピンポイントで把握できるようにします。送信されるのは docker-machine がクラッシュした場合のみです。

エラーメッセージを送りたくなければ、自分の $HOME/docker/machine ディレクトリに no-error-report ファイルを置きます。そうしておけば Docker Machine はレポートを報告しません。

$ mkdir -p ~/.docker/machine && touch ~/.docker/machine/no-error-report

このファイルは空のままで構いません。Docker Machine はファイルの存否のみ確認します。

ヘルプが必要ですか?

Docker Machine は開発途上であり、積極的に開発が行われています。ヘルプが必要であれば、あるいは貢献したい場合、一番簡単なのはプロジェクトの仲間に声をかけることです。私たちはコミュニケーションのために開かれたチャンネルを用意しています。

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

更に詳しい情報やリソースについては、 プロジェクトのヘルプ ページをご覧ください。