BluemixでDockerを使ってみた

先日、DockerとIBMの戦略的提携が[発表](http://www-03.ibm.com/press/us/en/pressrelease/45597.wss)されました（2014年12月4日）。

SoftLayerで稼働するPaaS型クラウド・サービスBluemixでも「IBM Containers」と呼ばれるサービス名でDockerコンテナをベースとした機能が2014年12月9日より試験提供されています。

Bluemixは、30日間の[フリートライアル](http://www.ibm.com/developerworks/jp/bluemix/registration.html)を実施中です。

今回は、こちらを検証してみます。

# Bluemixにログイン
Bluemixにログインします。URLは以下です。
https://console.ng.bluemix.net/

![スクリーンショット 2014-12-24 9.47.45.png](https://qiita-image-store.s3.amazonaws.com/0/63451/b3f14cb2-e905-d216-5ac2-447349b46d60.png)

# IBM Containersをデプロイする
メニュー・バーのカタログをクリックします。すぐに使えるボイラー・プレートや、ランタイム、サービスが選択できます。

![スクリーンショット 2014-12-24 13.57.03.png](https://qiita-image-store.s3.amazonaws.com/0/63451/9ffde53f-aaa5-8ba2-a9b4-78dd892f24f7.png)

IBM Containersは、統合というカテゴリーの中で試験提供されているようです。
![スクリーンショット 2014-12-24 13.59.05.png](https://qiita-image-store.s3.amazonaws.com/0/63451/8e5fd25c-ad7c-c881-7b47-bd1f17d8b9c2.png)

クリックして中身を確認してみます。
![スクリーンショット 2014-12-24 14.08.25.png](https://qiita-image-store.s3.amazonaws.com/0/63451/fbd4a40b-a5eb-d694-dcd7-50da52fc50fe.png)

とりあえず、サービス名はそのままにしておき、[作成]ボタンをクリックします。
![スクリーンショット 2014-12-24 14.10.07.png](https://qiita-image-store.s3.amazonaws.com/0/63451/88651783-77b9-df4d-9dc9-32dda1097c4f.png)

コマンド・ライン・インターフェースから、コンテナー・イメージにアクセスする際に利用するレジストリーURLを入力して、[save]ボタンをクリックします。
![スクリーンショット 2014-12-24 14.10.07.png](https://qiita-image-store.s3.amazonaws.com/0/63451/0d4200b8-0d54-3d2c-b777-9dc548a63ed4.png)

これだけで、Dockerベースのコンテナー環境のできあがりです。
![スクリーンショット 2014-12-24 14.13.08.png](https://qiita-image-store.s3.amazonaws.com/0/63451/1bddfa16-4011-6f3d-a7e2-b2f11c4f59c3.png)

デフォルトの状態で、メモリの上限は2.0GBとなっています。
![スクリーンショット 2014-12-24 14.23.21.png](https://qiita-image-store.s3.amazonaws.com/0/63451/660fa5b3-aefa-4113-5520-69e089bfc25a.png)

いくつかのイメージがデフォルトで存在しています。
![スクリーンショット 2014-12-24 14.22.32.png](https://qiita-image-store.s3.amazonaws.com/0/63451/534268f3-163c-851e-be9c-caeb10366415.png)

次回は、こちらの[ガイド](https://www.ng.bluemix.net/docs/#services/Containers/index.html#container)を参考に、デプロイしたコンテナ環境の使い方を確認していきます。

# IBM Containerを使ってみる

IBM Containerを使うには、自分のDocker環境とIBM Containers Extensionが必要です。

ここでは、Docker環境として先日[SoftLayer上に構築したDocker環境](http://qiita.com/asasaki4github/items/1bd335183ea15663290e)を利用します。

# pipのインストール

get-pip.pyをダウンロードします
``# wget https://bootstrap.pypa.io/get-pip.py``

```
--2014-12-24 15:10:22--  https://bootstrap.pypa.io/get-pip.py
bootstrap.pypa.io をDNSに問いあわせています... 103.245.222.175
bootstrap.pypa.io|103.245.222.175|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1581355 (1.5M) [text/x-python]
`get-pip.py' に保存中

100%[======================================>] 1,581,355    620K/s 時間 2.5s    

2014-12-24 15:10:25 (620 KB/s) - `get-pip.py' へ保存完了 [1581355/1581355]
```

get-pip.pyをインストールします
``# python get-pip.py``

```
Collecting pip
  Downloading pip-6.0.3-py2.py3-none-any.whl (1.3MB)
    100% |################################| 1.3MB 3.5MB/s 
Installing collected packages: pip

Successfully installed pip-6.0.3
```

# IBM Containers Extensionをイストールします
IBM Containers Extensionをダウンロードします。

``# wget https://static-ice.ng.bluemix.net/icecli-1.0.zip``

```
--2014-12-24 15:07:32--  https://static-ice.ng.bluemix.net/icecli-1.0.zip
static-ice.ng.bluemix.net をDNSに問いあわせています... 75.126.70.44
static-ice.ng.bluemix.net|75.126.70.44|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 16465 (16K) [application/zip]
`icecli-1.0.zip' に保存中

100%[======================================>] 16,465      52.1K/s 時間 0.3s    

2014-12-24 15:07:35 (52.1 KB/s) - `icecli-1.0.zip' へ保存完了 [16465/16465]
```

pipコマンドを使って、IBM Containers Extensionをインストールします。

``# pip install icecli-1.0.zip``

```
Processing ./icecli-1.0.zip
Collecting argparse (from icecli==1.0)
  Downloading argparse-1.3.0-py2.py3-none-any.whl
Collecting configparser (from icecli==1.0)
  Downloading configparser-3.3.0r2.tar.gz
Collecting requests (from icecli==1.0)
  Downloading requests-2.5.1-py2.py3-none-any.whl (464kB)
    100% |################################| 466kB 351kB/s 
Collecting ordereddict (from configparser->icecli==1.0)
  Downloading ordereddict-1.1.tar.gz
Installing collected packages: ordereddict, icecli, requests, configparser, argparse
  Running setup.py install for ordereddict
  Running setup.py install for icecli
    Installing ice script to /usr/bin

  Running setup.py install for configparser

Successfully installed argparse-1.3.0 configparser-3.3.0.post2 icecli-1.0 ordereddict-1.1 requests-2.5.1
```

# IBM Containersへのログイン

``# ice login -k d3306192ee1d2ea8644f80baacab6d30a1cca0f18cdc0374 -H https://api-ice.ng.bluemix.net/v1.0/containers -R registry-ice.ng.bluemix.net/asasakicontainers``

# つづく・・・