Azureとかもいいかもしれない。AWSに比べてGCEを使うのがとてもよかった。課金単位が短いのもありますが、VPCを指定しなかったりしないといけなくて少し面倒でした。Amazon LinuxのイメージはAWSでないと使えないので、amazonec2ドライバもちょいちょい使っていく予定だ。
解説
docker-machineを使うとDocker Hostが簡単に作れる。Dockerをインストールして、証明書発行して、ローカルのdockerクライアントから接続する情報を簡単に取得できる。
作成して準備をする流れは
- docker-machine create -d [DRIVER] [NAME]
- eval "$(docker-machine env [NAME])"
となる。そうするとdockerコマンドが使えるようになり、作成したところでDockerがうごく。
boot2dockerの外部ホスト用みたいな感じだ。
DRIVERには利用す環境を指定する。使えるドライバは
- amazonec2
- azure
- digitalocean
- exoscale
- generic
- none
- openstack
- rackspace
- softlayer
- virtualbox
- vmwarefusion
- vmwarevcloudair
- vmwarevsphere
おやすくつけっぱなしにしたいならdigitaloceanが良さそうだ。
sshがつかえれば、sshした先に設定することも可能みたいだ。
またDRIVERを使わずURL指定でリストに加えることもできるようだ。
他の人と共有するならこれが使えそうだ。
-d
ドライバーを指定するがNAMEを指定しなければ、使えるオプションだけに絞りこめる。しってるとオプションがみやすい。
-d google を指定した場合のインスタンスの設定はオプションで指定できる。
--google-auth-token GCE oAuth token [$GOOGLE_AUTH_TOKEN]
--google-disk-size "10" GCE Instance Disk Size (in GB) [$GOOGLE_DISK_SIZE]
--google-disk-type "pd-standard" GCE Instance Disk type [$GOOGLE_DISK_TYPE]
--google-machine-type "f1-micro" GCE Machine Type [$GOOGLE_MACHINE_TYPE]
--google-project GCE Project [$GOOGLE_PROJECT]
--google-scopes "https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write" GCE Scopes (comma-separated if multiple scopes) [$GOOGLE_SCOPES]
-
$GOOGLE_DISK_SIZE
などとあるように環境変数に指定しておけばオプションを自動的に指定できる。direnvなどをつかて必要な情報セットしておくと便利だ。
参考文献