ドライバのオプションと、デフォルト OS

ローカル・ネットワーク・プロバイダ、あるいはリモート環境、そして Amazon Web Services のようなクラウド・プロバイダ上において、 Docker Machine がコンテナをプロビジョニングする場合は、プロバイダに対応したドライバと、ベースとなるオペレーティング・システムの両方を定義する必要があります。10 を越えるサポート済みドライバと、その他のプロバイダ上にマシンを追加する generic (ジェネリック)ドライバがあります。

各ドライバは、各プロバイダ固有のオプション群を持っています。これらのオプションはマシンに対する情報を提供するものです。たとえば、接続時に必要となる認証情報(credential)、ポート番号などがあります。

例えば、Azure マシンを作成するには、ポータル上でサブスクリプション ID を取得してから、 docker-machine create を次のように時刻します。

$ docker-machine create -d azure --azure-subscription-id="SUB_ID" --azure-subscription-cert="mycert.pem" A-VERY-UNIQUE-NAME

プロバイダの一覧や、各プロバイダで利用できるオプション一覧を確認するには、 Docker Machine ドライバ・リファレンス(英語) をご覧ください。

プロバイダに加え、ベース・オペレーティング・システム毎に固有のオプションを指定できます。しかし、Docker machine はローカル・リモートの各プロバイダに対するデフォルト指定を持っているため、オプション指定は任意です。VirtualBox、Fusion、Hyper-V 等のようなローカル・プロバイダでは、デフォルトのベース・オペレーティング・システムは Boot2Docker です。クラウド・プロバイダ向けのベース・オペレーティング・システムは、プロバイダが提供している最新の Ubuntu LTS です。

オペレーティング・システム バージョン メモ
Boot2Docker 1.5+ ローカル用のデフォルト
Ubuntu 12.04+ リモート用のデフォルト
RancherOS 0.3+  
Debian 8.0+ 実験的(experimental)
Red Hat Enterprise Linux 7.0+ 実験的(experimental)
CentOS 7.0+ 実験的(experimental)
Fedora 21+ 実験的(experimental)

リモート・プロバイダ上で異なったベース・オペレーティング・システムを使うには、プロバイダのイメージ・フラグと利用可能なイメージの指定が必要になります。例えば、 DigialOcean で debian-8-x64 イメージを指定するには、 --digitalocean-image=debian-8-x64 フラグが必要です。

プロバイダ用のベース・イメージを変更する時、SSH ユーザの変更も必要になる場合があります。例えば、 EC2 上のデフォルト Red Hat AMI の SSH ユーザは ec2-user なので、 --amazonec2-ssh-user ec2-user と指定する必要があります。