docker-machine + さくらのクラウドでお手軽リモートdockerするよ

  • 44
    いいね
  • 0
    コメント

docker-machineからさくらのクラウド上の仮想サーバを使えるようにするプラグイン
docker-machine-sakuracloudをリリースしました。

docker-machine-sakuracloudを使ってさくらのクラウド上に作ったサーバ上でdockerを動かしてみます。

docker-machine-sakuracloudのインストール

Linux or Mac の場合

docker-machine-driver-sakuracloudバイナリをダウンロードし、パス($PATH)の通った場所に配置します(/usr/local/bin/など)。配置後にchmod +xしておいてください。

/usr/local/bin/配下に配置する場合のコマンド例

curl -L https://github.com/yamamoto-febc/docker-machine-sakuracloud/releases/download/v0.0.13/docker-machine-driver-sakuracloud-`uname -s`-`uname -m` >/usr/local/bin/docker-machine-driver-sakuracloud && \
  chmod +x /usr/local/bin/docker-machine/docker-machine-driver-sakuracloud

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

Windowsの場合

Docker Toolboxからインストーラをダウンロード&インストールしておきます。
次に、docker-machine-sakuracloudのインストーラをこちらからダウンロード&インストールします。

動作確認

コンソールで以下コマンドを実行してみましょう。指定できるオプションなどが表示されます。

docker-machine create -d sakuracloud -h

さくらのクラウド:APIキー取得

さくらのクラウドのコントロールパネルにログインし「設定」から「APIキー」を追加し、以下の情報を控えておきます。

  • ACCESS TOKEN
  • ACCESS TOKEN SECRET

docker-machineで新しいマシン作成

早速docker-machineで新しいマシンを作ります。

docker-machineではドライバを指定することで
dockerを稼働させるマシンをどこに作るかを指定します。

今回はドライバにsakuracloudを指定することでさくらのクラウド上にマシンを作ります。

では以下コマンドを実行してみましょう。

$ docker-machine create -d sakuracloud \
    --sakuracloud-access-token=[ACCESS TOKEN] \
    --sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
    sakura-dev

[ACCESS TOKEN]と[ACCESS TOKEN SECRET]には先ほど控えた値を入力してください。
しばらく待つとさくらのクラウド上にマシンsakura-devが追加されます。

Running pre-create checks...
Creating machine...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Provisioning created instance...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...

To see how to connect Docker to this machine, run: docker-machine env sakura-dev

無事終わりましたね。コントロールパネルにも表示されているはずです。
コントロールパネルに表示されない場合は石狩第1ゾーンが選択されているか確認してください。

作成されたら試しにSSH接続してみましょう。

$ docker-machine ssh sakura-dev

kobito.1447166811.348180.png

バッチリつながりましたね。

(補足)SSH接続について

docker-machineでマシンを作成すると、~/.docker/machine/machines/[作成したマシン名]配下に
id_rsaid_rsa.pubが作成されます。
docker-machine sshするときはここのid_rsaが使われます。

docker-machineで複数のマシンがある場合

docker-machineで管理しているマシンは以下コマンドで確認します。

$ docker-machine ls

NAME          ACTIVE   DRIVER        STATE     URL                         SWARM
default      -        virtualbox    Stopped                               
sakura-dev    -        sakuracloud   Running   tcp://133.242.68.228:2376   

dockerコマンドでの接続先はACTIVE列に*があるマシンとなります。
今のままだとdockerコマンドでsakura-devに繋げないので、以下コマンドでsakura-devをアクティブにします。

$ eval "$(docker-machine env sakura-dev)" #sakura-devをACTIVEに

$ docker-machine ls

NAME          ACTIVE   DRIVER        STATE     URL                         SWARM
default      -        virtualbox    Stopped                               
sakura-dev    *        sakuracloud   Running   tcp://133.242.68.228:2376   

ちゃんとsakura-devがACTIVEになりました。

dockerコマンドを実行してみる

いよいよdockerコマンドを実行してみましょう。

$ docker run -it --rm busybox

kobito.1447167923.896654.png

さくらのクラウド上の仮想マシン上のdockerでbusyboxを動かすことができました。

後は別のコンテナを試してみたり、docker-composeを動かしてみたりとご自由にどうぞ(^^)

後片付け

さくらのクラウドはマシンを停止していても時間単位で課金されます。
使わなくなったマシンはきちんと後片付けしましょう。

$ docker-machine rm sakura-dev

これで作成した仮想マシン(ディスクも)が削除されます。
お財布に優しくて安心ですね!

最後に

さくらのクラウドの2万円クーポンを持て余してる方いますよね?
docker-machine-sakuracloudで快適リモートdocker始めてみませんか?