Skip to content

sacloud/docker-machine-sakuracloud

Repository files navigation

Docker Machine SAKURA CLOUD Driver

Docker Machineさくらのクラウド上の仮想マシンを利用できるようにするプラグインです。

(English version)

Build Status

Quick Start: Dockerコンテナでの実行

docker-machineとdocker-machine-sakuracloud同梱したDockerイメージを用意しています。

sacloud/docker-machine

お手元のマシンにDockerが無い場合、以降のインストールを参照ください。

Dockerでの実行方法

docker run [dockerコマンドオプション] sacloud/docker-machine [docker-machineオプション] <作成するマシン名>

マシンの作成を行う場合、以下のように実行します。

docker run -it --rm -e MACHINE_STORAGE_PATH=$HOME/.docker/machine \
                    -e SAKURACLOUD_ACCESS_TOKEN=<トークン> \
                    -e SAKURACLOUD_ACCESS_TOKEN_SECRET=<シークレット> \
                    -v $HOME/.docker:$HOME/.docker \
                    sacloud/docker-machine create -d sakuracloud sakura-dev

インストール

macOS(HomeBrew) または Linux(LinuxBrew)

$ brew tap sacloud/docker-machine-sakuracloud
$ brew install docker-machine-sakuracloud

マニュアルインストール

あらかじめdocker-machineをインストールしておいてください。

docker-machine-driver-sakuracloudバイナリをダウンロードし、パス($PATH)を通してください。 (Windowsの場合はdocker-machine.exeと同じフォルダに配置すればよいです) 配置後にchmod +xしておいてください。

docker-machine-driver-sakuracloudの最新のバイナリはこちらの"Releases"ページからダウンロードできます。

使い方

Docker Machine 公式ドキュメントはこちら。 Windowsの場合は以下のページも参照してください。

さくらのクラウドのコントロールパネルからAPIキーを発行しておいてください。

さくらのクラウド上にdocker-machineで利用する仮想マシンを作成するには以下のコマンドを実施してください。

$ docker-machine create --driver=sakuracloud \
    --sakuracloud-access-token=[アクセストークン] \
    --sakuracloud-access-token-secret=[アクセストークンシークレット] \
    sakura-dev

オプション:

  • --sakuracloud-access-token: 必須 アクセストークン
  • --sakuracloud-access-token-secret: 必須 アクセストークンシークレット
  • --sakuracloud-zone: 対象ゾーン[is1a / is1b / tk1a]
  • --sakuracloud-os-type: OS[rancheros / centos / ubuntu / coreos]
  • --sakuracloud-core: CPUコア数
  • --sakuracloud-memory: メモリサイズ(GB単位)
  • --sakuracloud-disk-connection: ディスクインターフェース (virtio or ide)
  • --sakuracloud-disk-plan: ディスクプラン (ssd / hdd)
  • --sakuracloud-disk-size: ディスクサイズ(GB単位)
  • --sakuracloud-interface-driver: NICドライバ(virtio or e1000)
  • --sakuracloud-password: 管理ユーザーのパスワード(未指定の場合ランダムな文字列を利用)
  • --sakuracloud-enable-password-auth : SSHでのパスワード認証の有効化(デフォルトは公開鍵認証のみが有効)
  • --sakuracloud-packet-filter: パケットフィルタのID
  • --sakuracloud-engine-port : Docker Engineのポート番号
  • --sakuracloud-ssh-key : SSH秘密鍵へのパス(省略した場合は新たなキーペアが生成されます)

--sakuracloud-disk-sizeはさくらのクラウドでサポートされるサイズのみ指定可能です。 サポートされるサイズについてはサービス仕様・料金ページを参照してください。 また、--sakuracloud-disk-planの選択によってサポートされるサイズが変わるため注意してください。

--sakuracloud-zoneでは利用したいリージョンに応じて以下の値を指定してください。 SandboxリージョンについてはSSHにてログインができないため利用できません。

  • 石狩第1ゾーン : is1a
  • 石狩第2ゾーン : is1b
  • 東京第1ゾーン : tk1a
  • 東京第2ゾーン : tk1b

各オプションは環境変数で指定することも可能です。

環境変数名とデフォルト値:

CLI option Environment variable Default
--sakuracloud-access-token SAKURACLOUD_ACCESS_TOKEN -
--sakuracloud-access-token-secret SAKURACLOUD_ACCESS_TOKEN_SECRET -
--sakuracloud-zone SAKURACLOUD_ZONE is1b
--sakuracloud-os-type SAKURACLOUD_OS_TYPE coreos
--sakuracloud-core SAKURACLOUD_CORE 1
--sakuracloud-memory SAKURACLOUD_MEMORY 1
--sakuracloud-disk-connection SAKURACLOUD_DISK_CONNECTION virtio
--sakuracloud-disk-plan SAKURACLOUD_DISK_PLAN ssd
--sakuracloud-disk-size SAKURACLOUD_DISK_SIZE 20
--sakuracloud-interface-driver SAKURACLOUD_INTERFACE_DRIVER virtio
--sakuracloud-password SAKURACLOUD_PASSWORD -
--sakuracloud-enable-password-auth SAKURACLOUD_ENABLE_PASSWORD_AUTH false
--sakuracloud-packet-filter SAKURACLOUD_PACKET_FILTER -
--sakuracloud-engine-port SAKURACLOUD_ENGINE_PORT 2376
--sakuracloud-ssh-key SAKURACLOUD_SSH_KEY -

Author