ibm bluemix オンラインセミナー · 2015-02-16 · ibm containersサービスの使い方...

27
IBM Bluemix www.bluemix.net IBM Bluemix オンラインセミナー 今からはじめるBluemixシリーズ 第3期 進化するBluemix 第3回「コンテナー・サービス」 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 グロース・テクノロジー 橋本 裕樹

Upload: others

Post on 07-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

IBM Bluemixwww.bluemix.net

IBM Bluemix オンラインセミナー今からはじめるBluemixシリーズ

第3期 進化するBluemix第3回「コンテナー・サービス」

日本アイ・ビー・エムシステムズ・エンジニアリング株式会社

グロース・テクノロジー 橋本 裕樹

Page 2: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation2

IBM Bluemixwww.bluemix.net

IBM Containersサービスの概要

IBM ContainersサービスはDockerベースのコンテナー・サービスです。Dockerの概要に触れた上でContainersサービスの概要を説明します。

2015年2月12日現在の試験リリースの内容を基に説明しています。

最新情報につきましては、Bluemixドキュメントをご確認ください。

https://www.ng.bluemix.net/docs/

Page 3: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation3

IBM Bluemixwww.bluemix.net

Dockerとは(1/2)

Docker社が開発するコンテナー型の仮想化プラットフォーム

コンテナー型仮想化環境を管理するためのオープンソース・ソフトウェア。

Linuxコンテナー(LXC)技術を使用して実現されている。

仮想マシン型とコンテナー型の違い

ホストOS

ハイパーバイザー

仮想マシン

ゲストOS

仮想マシン

ゲストOS

ユーザー・プロセス

ユーザー・プロセス

ユーザー・プロセス

ユーザー・プロセス

ホストOS

ユーザー・プロセス

ユーザー・プロセス

ユーザー・プロセス

ユーザー・プロセス

コンテナー コンテナー

仮想マシン型 コンテナー型

• 1つのホストOS環境において、隔離された仮想的なハードウェア環境(仮想マシン)が複数作成される。

• ユーザー・プロセスは仮想マシンのゲストOS単位で隔離される。ゲストOSはホストOSと独立している。

• 1つのホストOS環境において、隔離された仮想的なOS環境(コンテナー)が複数作成される。

• ユーザー・プロセスはコンテナー単位で隔離される。カーネルはホストOSと共有している。

Page 4: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation4

IBM Bluemixwww.bluemix.net

Dockerとは(2/2)

Dockerによるコンテナー型仮想化のメリット

軽量かつ高速に動作

ホストOSのカーネル下で動作するため、リソースのオーバーヘッドが非常に小さく、コンテナーの起動・停止含め、高速に動作する。

優れたポータビリティー

コンテナーのテンプレートとなるDockerイメージ(ディスク・イメージ)に優れたポータビリティーがある。

例えば、プロジェクト・メンバーへの開発環境の配布、クラウド間や環境間(開発環境/本番環境など)での移行が容易に行える。

Dockerレジストリー

Dockerイメージの保管や共有を行うためのレジストリー。

Dockerイメージ

Dockerコンテナーのベースとなるディスク・イメージ(テンプレート)。

Dockerコンテナー

Dockerイメージから作成され、実行できるコンテナー環境。

Page 5: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation5

IBM Bluemixwww.bluemix.net

Containersサービスとは(1/2)

Bluemix環境でDockerコンテナーの実行環境を提供するサービス

Bluemix環境において、従来のCloudFoundryベースのアプリケーションに加え、Dockerベースのアプリケーションが使用可能になる。

既存アプリケーションをDockerイメージ化してBluemix環境へ持っていくなど、より柔軟な構成が可能になる。

組織内でDockerイメージを保管・共有するためのプライベートなDockerレジストリーも提供される。

Containers

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 6: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation6

IBM Bluemixwww.bluemix.net

Containersサービスとは(2/2)

Bluemix環境におけるContainersサービスのメリット

Dockerインフラの運用管理が不要

Dockerコンテナーを実行するためのインフラを準備したり、運用管理する必要がなく、すぐに使い始めることができる。

Bluemixのコンポーザブルな環境

DockerベースのアプリケーションからもBluemixのサービスを利用することができるため、 Bluemixのコンポーザブルな環境を活用できる。

Dockerイメージのポータビリティー

Dockerが持つメリットを活かし、開発者のPC環境でテストしたイメージ、オンプレミス環境で使用しているイメージを、そのままBluemix環境へ持っていくことができる。

Containers

Page 7: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation7

IBM Bluemixwww.bluemix.net

IBM Containersサービスの使い方

Node.jsベースのシンプルなアプリケーションをDocker化する作業を通じ、IBM Containersサービスの基本的な使い方を説明します。

2015年2月12日現在の試験リリースの内容を基に説明しています。

最新手順・詳細手順につきましては、Bluemixドキュメントをご確認ください。

https://www.ng.bluemix.net/docs/

Page 8: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation8

IBM Bluemixwww.bluemix.net

Containersサービスの使い方

全体の流れ

0. 環境の事前準備(ローカル環境/Bluemix環境)※初回のみ

1. Dockerイメージのダウンロード

2. アプリケーションのDocker化

3. ローカル環境でのコンテナー実行

4. Dockerイメージのアップロード

5. Bluemix環境でのコンテナー実行

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 9: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation9

IBM Bluemixwww.bluemix.net

ローカル環境の事前準備

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

DockerおよびIBM Containers Extensionの導入

アプリケーションのDocker化(Dockerイメージの作成)を行うには、Linux環境で動作するDockerが必要となる。

Windows環境の場合は、VirtualBoxなど仮想マシンで用意すると良い。

Containersサービスの操作には、IBM Containers Extension (iceコマンド)を使用するため、ダウンロードして事前に導入する。

IBM Containers Extensionは、Python, Python pip, Pythonsetuptoolsに依存しているため、これらも導入が必要となる。

Page 10: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation10

IBM Bluemixwww.bluemix.net

Bluemix環境の事前準備(1/3)

Containersサービスのインスタンス作成

初回のみ、Bluemixカタログの「統合」カテゴリーから「Containers」を選択し、インスタンスを作成する必要がある。 Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

Page 11: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation11

IBM Bluemixwww.bluemix.net

Bluemix環境の事前準備(2/3)

プライベート・レジストリーのレジストリー名(名前空間)指定

作成したDockerイメージをプライベート・レジストリーへ登録する際、イメージ名に指定する。

registry-ice.ng.bluemix.net/<名前空間>/<イメージ名>

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

レジストリー名

(名前空間)

Page 12: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation12

IBM Bluemixwww.bluemix.net

Bluemix環境の事前準備(3/3)

Containersサービスの管理画面にてAPI認証キーの取得

GetStarted画面:レジストリーURL(名前空間)とAPI認証キー

Containers画面:作成済みコンテナーの一覧とステータス

Images画面:レジストリー内のDockerイメージの一覧

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

プライベート

レジストリーURL

API認証キー

(iceコマンドの認証キー)

Page 13: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation13

IBM Bluemixwww.bluemix.net

Dockerイメージのダウンロード

ベースにするDockerイメージのダウンロード

アプリケーションをDocker化する際にベースにするDockerイメージをレジストリーからダウンロードする。

Containersサービスでは、以下のイメージが標準提供されている。

Node.js組み込み済みイメージ

Libertyプロファイル組み込み済みイメージ

その他、Docker Hubなどからダウンロードしたイメージを使用することもできる。

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 14: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation14

IBM Bluemixwww.bluemix.net

デモ:Dockerイメージのダウンロード# ice login -k xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/root/.ice does not exist... attempting to create

/root/.ice/ice-cfg.ini does not exist ... using defaults

Target is container cloud. Invoking cloud service...

Authentication with container cloud service completed successfully

You can issue commands now to the container service

Proceeding to authenticate with the container cloud registry as well...

Login Succeeded

# ice imagesTarget is container cloud. Invoking cloud service...

Image Id Image Name Created

b679b48c-43d7-484e-b9b0-b2bf2baecc58 registry-ice.ng.bluemix.net/ibmliberty:latest Dec 1 20:36:38 2014

ac0c8eed-a201-4c22-8c6a-81691e4949e5 registry-ice.ng.bluemix.net/ibmnode:latest Dec 1 20:36:28 2014

# ice --local pull registry-ice.ng.bluemix.net/ibmnodeTarget is local host. Invoking docker with the given arguments...

Pulling repository registry-ice.ng.bluemix.net/ibmnode

<中略>

Status: Image is up to date for registry-ice.ng.bluemix.net/ibmnode:latest

# ice --local tag registry-ice.ng.bluemix.net/ibmnode ibmnodeTarget is local host. Invoking docker with the given arguments...

# ice --local imagesTarget is local host. Invoking docker with the given arguments...

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

ibmnode latest 6485095cc0ef 10 weeks ago 425.4 MB

registry-ice.ng.bluemix.net/ibmnode 1.0.58 6485095cc0ef 10 weeks ago 425.4 MB

registry-ice.ng.bluemix.net/ibmnode latest 6485095cc0ef 10 weeks ago 425.4 MB

ice login -k <API認証キー>IBM Containersサービスへログイン。

ice imagesプライベート・レジストリー内のイメージをリストし、登録されているイメージを確認。

ice --local pull <イメージ名>Node.js組み込み済みイメージをプライベート・レジストリーからローカル環境へダウンロード。

ice --local tag <イメージ名> <新イメージ名>ダウンロードしたNode.js組み込み済みイメージに対し、ibmnodeという名前を付加。

ice --local imagesローカル環境のイメージをリストし、イメージが登録されたことを確認。

Page 15: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation15

IBM Bluemixwww.bluemix.net

アプリケーションのDocker化(1/2)

Dockerfileの作成

Dockerでは、Dockerfileと呼ばれるテキスト・ファイルによってDockerイメージの作成を自動化できる。

1行1操作のステップ・バイ・ステップでDockerイメージの作成手順を記述する。

Dockerfileリファレンスhttps://docs.docker.com/reference/builder/

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

イメージ内へアプリのコードをコピー

イメージ内へアプリの依存パッケージを導入

アプリが実行時に使用する環境変数を追加

アプリのリッスンするポート番号を登録

アプリの起動コマンドを登録

ベースにするDockerイメージを指定

CMD ["node", "/src/app.js"]

EXPOSE 80

ENV PORT 80

RUN cd /src; npm install

COPY . /src

FROM ibmnode

Dockerfileの例:

Page 16: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation16

IBM Bluemixwww.bluemix.net

アプリケーションのDocker化(2/2)

Dockerイメージの自動作成

作成したDockerfileを使用し、ベースのDockerイメージに対してアプリケーションやアプリケーションの依存ファイルを組み込む。

FROMで指定したDockerイメージからコンテナーが作成され、以降の記述に従って順番にコンテナーへ変更が加えられる。コンテナーは最終的にDockerイメージとして保管される。

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 17: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation17

IBM Bluemixwww.bluemix.net

デモ:アプリケーションのDocker化# git clone https://hub.jazz.net/git/isebm/MemoApp1-NodejsCloning into 'MemoApp1-Nodejs'...

remote: Total 17 (delta 0), reused 17 (delta 0)

Unpacking objects: 100% (17/17), done.

# cd MemoApp1-Nodejs

# cat << EOF > Dockerfile> FROM ibmnode

> COPY . /src

> RUN cd /src; npm install

> ENV PORT 80

> EXPOSE 80

> CMD ["node", "/src/app.js"]

> EOF

# ice --local build -t memoapp .Target is local host. Invoking docker with the given arguments...

Sending build context to Docker daemon 89.6 kB

Sending build context to Docker daemon

<中略>

Successfully built 644bf6eda61b

# ice --local imagesTarget is local host. Invoking docker with the given arguments...

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

memoapp latest 644bf6eda61b 18 seconds ago 431.5 MB

registry-ice.ng.bluemix.net/ibmnode 1.0.58 6485095cc0ef 10 weeks ago 425.4 MB

registry-ice.ng.bluemix.net/ibmnode latest 6485095cc0ef 10 weeks ago 425.4 MB

ibmnode latest 6485095cc0ef 10 weeks ago 425.4 MB

Node.jsベースのサンプル・アプリケーションをDocker化するDockerfileを作成。

ice --local build -t <イメージ名> <Dockerfileパス>Dockerfileを使用してイメージを自動作成。

ice --local imagesローカル環境のイメージをリストし、イメージが作成されたことを確認。

Gitリポジトリー(IDS)からDocker化するサンプル・アプリケーションをダウンロード。

Page 18: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation18

IBM Bluemixwww.bluemix.net

ローカル環境でのコンテナー実行

ローカル環境でのコンテナーの作成と実行

ローカル環境のDocker実行環境を使用し、作成したDockerイメージの動作を確認する。

Dockerイメージからコンテナーを作成して実行する。Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 19: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation19

IBM Bluemixwww.bluemix.net

デモ:ローカル環境でのコンテナー実行# ice --local run --name MemoApp -d -p 80:80 memoappTarget is local host. Invoking docker with the given arguments...

8e7314f822b12ee4c2efa244eba1208b5f3ed6d4f2fd3cd42a81ce47c177b422

# ice --local ps -aTarget is local host. Invoking docker with the given arguments...

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8e7314f822b1 memoapp:latest "node /src/app.js" 25 seconds ago Up 24 seconds 22/tcp, 0.0.0.0:80->80/tcp MemoApp

# ice --local stop MemoAppTarget is local host. Invoking docker with the given arguments...

MemoApp

# ice --local rm MemoAppTarget is local host. Invoking docker with the given arguments...

MemoApp

ice --local stop <コンテナー名>アプリケーションの動作確認後、ローカル環境のコンテナーを停止。

ice --local run --name <コンテナー名> -d–p <ポート番号>:<ポート番号> <イメージ名>ローカル環境でイメージからコンテナーを作成&実行。

ice --local ps -aローカル環境のコンテナーの実行ステータスを確認。コンテナーが作成され、実行されていることを確認。

ice --local rm <コンテナー名>不要となったローカル環境のコンテナーを削除。

Page 20: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation20

IBM Bluemixwww.bluemix.net

Dockerイメージのアップロード

Dockerイメージのアップロード

作成したDockerイメージをプライベート・レジストリーへアップロードする。

アップロードするDockerイメージには、以下の形式の名前を付ける必要がある。

registry-ice.ng.bluemix.net/<名前空間>/<イメージ名>

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 21: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation21

IBM Bluemixwww.bluemix.net

デモ:Dockerイメージのアップロード# ice --local tag memoapp registry-ice.ng.bluemix.net/demo/memoappTarget is local host. Invoking docker with the given arguments...

# ice --local push registry-ice.ng.bluemix.net/demo/memoappTarget is local host. Invoking docker with the given arguments...

The push refers to a repository [registry-ice.ng.bluemix.net/demo/memoapp] (len: 1)

Sending image list

Pushing repository registry-ice.ng.bluemix.net/demo/memoapp (1 tags)

<中略>

Pushing tag for rev [644bf6eda61b] on {https://registry-ice.ng.bluemix.net/v1/repositories/demo/memoapp/tags/latest}

# ice imagesTarget is container cloud. Invoking cloud service...

Image Id Image Name Created

dd5ba8c8-a01a-45ed-84db-2f2d1c5e059c registry-ice.ng.bluemix.net/demo/memoapp:latest Feb 12 01:26:13 2015

b679b48c-43d7-484e-b9b0-b2bf2baecc58 registry-ice.ng.bluemix.net/ibmliberty:latest Dec 1 20:36:38 2014

ac0c8eed-a201-4c22-8c6a-81691e4949e5 registry-ice.ng.bluemix.net/ibmnode:latest Dec 1 20:36:28 2014

ice imagesプライベート・レジストリー内のイメージをリストし、イメージが登録されたことを確認

ice --local tag <イメージ名> <新イメージ名>作成したイメージに対し、プライベート・レジストリー用の名前を付加。

ice --local push <イメージ名>作成したイメージをローカル環境からプライベート・レジストリーへアップロード。

Page 22: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation22

IBM Bluemixwww.bluemix.net

Bluemix環境でのコンテナー実行

Bluemix環境でのコンテナーの作成と実行

Bluemix環境のDocker実行環境を使用し、作成したDockerイメージの動作を確認する。

Dockerイメージからコンテナーを作成して実行する。

インターネットからアプリケーションへアクセスするには、パブリックIPアドレスを割り当てる必要がある。

コマンドでパブリックIPアドレスを取得し、コンテナーへバインドする。

Bluemix環境の

事前準備

Dockerイメージの

ダウンロード

アプリケーションの

Docker化

ローカル環境での

コンテナー実行

Dockerイメージの

アップロード

Bluemix環境での

コンテナー実行

ローカル環境の

事前準備

ローカル環境 Bluemix / SoftLayer環境

プライベート

レジストリー

Containers

サービス

IBM Containers

Extension

Docker

実行環境

Page 23: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation23

IBM Bluemixwww.bluemix.net

デモ:Bluemix環境でのコンテナー実行# ice run --name MemoApp registry-ice.ng.bluemix.net/demo/memoappTarget is container cloud. Invoking cloud service...

beeb4df2-887f-48ac-95ab-251762323a3f

# ice ps -aTarget is container cloud. Invoking cloud service...

Container Id Name Image Id Command Created Status Private IP Public IP

beeb4df2-887f-48ac MemoApp dd5ba8c8-a01a-45ed Feb 12 01:28 Running 172.16.45.34

-95ab-251762323a3f -84db-2f2d1c5e059c

# ice ip requestTarget is container cloud. Invoking cloud service...

Successfully obtained ip: “xxx.xxx.xxx.xxx“

# ice ip bind xxx.xxx.xxx.xxx MemoAppTarget is container cloud. Invoking cloud service...

Successfully bound ip

# ice stop MemoAppTarget is container cloud. Invoking cloud service...

Stopped container successfully

# ice rm MemoAppTarget is container cloud. Invoking cloud service...

Removed container successfully

ice ip requestBluemix環境のパブリックIPアドレスを取得。

ice ip bind <IPアドレス> <コンテナー名>Bluemix環境のパブリックIPアドレスをコンテナーへ割り当て。

ice stop <コンテナー名>アプリケーションの動作確認後、Bluemix環境のコンテナーを停止。

ice rm <コンテナー名>不要となったBluemix環境のコンテナーを削除。

ice run --name <コンテナー名> <イメージ名>Bluemix環境でイメージからコンテナーを作成&実行。

ice ps -aBluemix環境のコンテナーの実行ステータスを確認。コンテナーが作成され、実行されていることを確認。

Page 24: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation24

IBM Bluemixwww.bluemix.net

まとめ

Page 25: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation25

IBM Bluemixwww.bluemix.net

まとめ

Containersサービスとは、Bluemix環境でDockerコンテナーの実行環境を提供するサービス。

Dockerコンテナーを実行するためのインフラを準備したり、運用管理する必要がなく、すぐに使い始めることができる。

DockerベースのアプリケーションからもBluemixのサービスが利用でき、Bluemixのコンポーザブルな環境を活用できる。

既存アプリケーションをDockerイメージ化してBluemix環境へ持っていくなど、より柔軟な構成が可能になる。

組織内でDockerイメージを保管・共有するためのプライベートなDockerレジストリーも提供される。

Page 26: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation26

IBM Bluemixwww.bluemix.net

Bluemixを試す Bluemixフリートライアルibm.biz/BMtrial

Bluemixについてもっと学びたい Bluemix Webinaribm.biz/BMwebinar

Bluemix技術情報http://www.ibm.com/developerworks/jp/bluemix/

Bluemixご紹介http://www.ibm.com/software/jp/info/bluemix/

Page 27: IBM Bluemix オンラインセミナー · 2015-02-16 · IBM Containersサービスの使い方 Node.jsベースのシンプルなアプリケーションをDocker化 する作業を通じ、IBM

© 2015 IBM Corporation27

IBM Bluemixwww.bluemix.net