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