汎用(generic)ドライバ¶
既存の仮想マシン/ホストを、SSH 経由で Docker Machine が扱えるマシンにします。
これが役立つのは、Docker Machine のプロバイダがサポートされていない場合や、既存の Docker ホスト環境を Docker Machine で管理できるよう移行する場合です。
作成時、ドライバは以下の処理を行います。
ホスト上で docker が動いていなければ、自動的にインストールを行う。
ホスト上のパッケージを更新します(
apt-get update
yum update
... )docker デーモンを安全にする証明書を生成する。
docker デーモンを再起動するため、実行中のコンテナは全て停止される。
ホスト名がマシン名に対応します。
例¶
マシン・インスタンスを作成するには、 --driver generic
を指定します。また、ホストの IP アドレスまたは DNS 名と、ホストに接続できるようにするための SSH 秘密鍵も指定します。
$ docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
--generic-ssh-key=~/.ssh/id_rsa \
vm
パスワードで保護された SSH 鍵¶
SSH 認証情報の指定( --generic-ssh-key
フラグを使う )がなければ、 SSH エージェントは(実行中であれば)訊ねます。つまり、パスワードで保護された SSH 鍵を簡単に使えるようにします。
ただしサポートされているのは、外部の SSH クライアント、ここでは ssh
バイナリが実行できるデフォルトの挙動が扱える場合のみです。ネイティブ・クライアントを使う場合( --native-ssh
)は、まだ SSH エージェントの利用をサポートしていませんのでご注意ください。
$ docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
other
sudo 権限¶
ホストに SSH 接続できるユーザを指定するには --generic-ssh-user
フラグを使います。この時、指定したユーザはパスワード入力なしに sudo を実行する権限が必要です。もしそのようになっていなければ、 sudoers
ファイルを編集し、そのユーザに NOPASSWD
としての調整が必要になります。詳しくは ドキュメント をご覧ください。
オプション¶
--generic-engine-port
: Docker デーモンが使うポート番号(メモ:このフラグは boot2docker では機能しません)--generic-ip-address
: 必須 ホストの IP アドレス--generic-ssh-key
: SSH ユーザのプライベート鍵のパス--generic-ssh-user
: 接続に使う SSH ユーザ名--generic-ssh-port
: SSH に使うポート番号
注釈
Docker Machine がサポートしているベース・オペレーティング・システムを使う必要があります。
利用可能な環境変数とデフォルト値は以下の通りです。
コマンドライン・オプション |
環境変数 |
デフォルト値 |
---|---|---|
|
|
|
|
|
― |
|
|
( |
|
|
|
|
|
|