0%

GCEにDockerをインストール

前回はGCEにCoreOSのクラスタを構築しました。
CoreOS以外のOSでもDockerを試してみます。開設されたばかりのアジアリージョンを使ってみます。

Google Cloud SDK をインストール

インストーラーを実行します。

$ curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash | bash
$ source ~/.bashrc

出力されるURLをブラウザで実行して、表示された認証コードを入力します。

$ gcloud auth login
Enter verification code:

デフォルトのプロジェクトIDを設定します。

$ gcloud config set project DEFAULT_PROJECT_ID

設定の確認をします。

$ gcloud config list

インスタンスの作成

最新のDebianバックポートのインスタンスを作成します。Andromedaを享受できるカーネルドライバが入っているそうです。
20秒くらいでインスタンスが作成されました。はやい!

$ gcutil addinstance spike-docker --persistent_boot_disk --zone=asia-east1-a --machine_type=n1-standard-1 --image=projects/debian-cloud/global/images/backports-debian-7-wheezy-v20140415 

ローカルマシンの環境変数をSSHで送信しないよう、コメントアウトします。

$ sudo vi /etc/ssh/ssh_config
# SendEnv LANG LC_*

gcutilコマンドで、Vagrantみたいに簡単にSSH接続ができます。

$ gcutil ssh spike-docker
gce@spike-docker:~$

Dockerのインストール

インストーラーを実行します。

$ curl get.docker.io | bash

作業ユーザーをdockerグループに追加して、sudoなしでdockerコマンドが実行できるようにします。

$ sudo usermod -aG docker gce
$ exit

コンテナの実行

SSH接続します。

$ gcutil ssh spike-docker

自動起動の設定をします。

$ sudo insserv -d docker

コンテナを実行します。

$ docker run busybox echo 'hello docker'
hello docker

まとめ

GCEはインスタンスの起動がはやいので、新しいセットのサーバーの構成を試すときに適しています。
gcutilも使い勝手がよいのですが、引数が長くなりがちなのでsalt-cloudを使うとよいかも。
次は、CoreOSとは違う方法でDockerクラスタをSerfで構築してみます。