ドライバのオプションと、デフォルト 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)

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

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

参考

Driver options and operating system defaults

https://docs.docker.com/machine/drivers/os-base/