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のインストーラをこちらからダウンロード&インストールします。
[2017/11/9 追記]
現在Windows版インストーラーについては最新版の配布を行っていません。
"Releases"ページから最新のバージョンをダウンロードしPATHの通ったフォルダに配置してください。
動作確認
コンソールで以下コマンドを実行してみましょう。指定できるオプションなどが表示されます。
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
バッチリつながりましたね。
(補足)SSH接続について
docker-machineでマシンを作成すると、~/.docker/machine/machines/[作成したマシン名]配下に
id_rsa
とid_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
さくらのクラウド上の仮想マシン上のdockerでbusyboxを動かすことができました。
後は別のコンテナを試してみたり、docker-composeを動かしてみたりとご自由にどうぞ(^^)
後片付け
さくらのクラウドはマシンを停止していても時間単位で課金されます。
使わなくなったマシンはきちんと後片付けしましょう。
$ docker-machine rm sakura-dev
これで作成した仮想マシン(ディスクも)が削除されます。
お財布に優しくて安心ですね!
最後に
さくらのクラウドの2万円クーポンを持て余してる方いますよね?
docker-machine-sakuracloudで快適リモートdocker始めてみませんか?