LoginSignup
9
4

More than 5 years have passed since last update.

Bluemix で Cloud Foundry Docker Support を使ってみた

Last updated at Posted at 2017-08-04

Bluemix の Cloud Foundry のベース部分は、Docker をサポートしていて、オプション指定でDockerコンテナを起動できる。[1] それじゃ、Bluemix だって同じコアを使っているんだし、"bx ic ..." で起動するIBMコンテナを利用しないでも、CFの機能で、Dockerコンテナを起動できるんじゃないの?  しかし、Bluemix のマニュアルには記載が無いし、ダメもと、とコマンドを投入したら、出来ちゃいました(笑) マニュアルに記載が無いため、Cloud Foundry のコアのお陰で、たまたま動作しただけの非サポートの機能かもしれませんので、ご留意願います。

DockerHub に登録されている コンテナ・イメージ cloudfoundry/test-app を Bluemixで起動したログです。

imac:bluemix-test maho$ bx cf push takara-doc -m 128M --docker-image cloudfoundry/test-app
'cf push takara-doc -m 128M --docker-image cloudfoundry/test-app' を起動しています...

takara9@gmail.com としてアプリ takara-doc を組織 takara9@gmail.com / スペース dev 内に作成しています...
OK

経路 takara-doc.mybluemix.net を作成しています...
OK

takara-doc.mybluemix.net を takara-doc にバインドしています...
OK



takara9@gmail.com として組織 takara9@gmail.com / スペース dev 内のアプリ takara-doc を開始しています...
Creating container
Successfully created container
Staging...
Staging process started ...
Staging process finished
Exit status 0
Staging Complete
Destroying container
Successfully destroyed container

1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 1 個のインスタンスが実行中です

アプリが開始されました


OK

アプリ takara-doc はコマンド `/test-app ` を使用して開始されました

takara9@gmail.com として組織 takara9@gmail.com / スペース dev 内のアプリ takara-doc の正常性と状況を表示しています...
OK

要求された状態: started
インスタンス: 1/1
使用: 128M x 1 インスタンス
URL: takara-doc.mybluemix.net
最終アップロード日時: Fri Aug 4 02:48:18 UTC 2017
スタック: cflinuxfs2
ビルドパック: unknown

     状態   開始日時                 CPU    メモリー        ディスク      詳細
#0   実行   2017-08-04 11:48:45 AM   0.0%   128M の中の 0   1G の中の 0

Bluemix ウェブ管理画面コピーです。ランタイムのビルドパックが、"noruntime" になっています(笑)
スクリーンショット 2017-08-04 12.08.47.png

アプリURLをアクセスした画面です。
スクリーンショット 2017-08-04 12.10.33.png

下記、PUSH時のログで、17秒で完了しています。 Buildpack の様に、Detect, Compile, Release のステップが無いので、Buildpack より格段に早いです。

2017-08-04T12:12:48.94+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0
2017-08-04T12:12:49.95+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0
2017-08-04T12:12:50.47+0900 [API/8] OUT Updated app with guid 000423dc-a2f5-48fe-9ade-1da35dadab93 ({"name"=>"takara-doc", "memory"=>128, "diego"=>true, "docker_image"=>"cloudfoundry/test-app"})
2017-08-04T12:12:50.96+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0
2017-08-04T12:12:51.83+0900 [API/5] OUT Updated app with guid 000423dc-a2f5-48fe-9ade-1da35dadab93 ({"state"=>"STOPPED"})
2017-08-04T12:12:51.86+0900 [CELL/0] OUT Exit status 0
2017-08-04T12:12:51.85+0900 [APP/PROC/WEB/0] OUT Exit status 143
2017-08-04T12:12:51.90+0900 [CELL/0] OUT Destroying container
2017-08-04T12:12:45.96+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0
2017-08-04T12:12:54.02+0900 [API/0] OUT Updated app with guid 000423dc-a2f5-48fe-9ade-1da35dadab93 ({"state"=>"STARTED"})
2017-08-04T12:12:55.18+0900 [CELL/0] OUT Creating container
2017-08-04T12:12:53.86+0900 [CELL/0] OUT Successfully destroyed container
2017-08-04T12:13:05.85+0900 [CELL/0] OUT Starting health monitoring of container
2017-08-04T12:13:05.85+0900 [CELL/0] OUT Successfully created container
2017-08-04T12:13:06.27+0900 [APP/PROC/WEB/0] OUT {"timestamp":"1501816386.260451794","source":"test-app","message":"test-app.test-app.up","log_level":1,"data":{"port":"8080"}}
2017-08-04T12:13:06.27+0900 [APP/PROC/WEB/0] OUT {"timestamp":"1501816386.256762028","source":"test-app","message":"test-app.test-app.starting","log_level":1,"data":{"ports":["8080"]}}
2017-08-04T12:13:07.27+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0
2017-08-04T12:13:08.17+0900 [CELL/0] OUT Container became healthy
2017-08-04T12:13:08.27+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0
2017-08-04T12:13:09.28+0900 [APP/PROC/WEB/0] OUT test-app. Says Hello. on index: 0

参考資料

[1] Cloud Foundry Documentation Deploy an App with Docker https://docs.cloudfoundry.org/devguide/deploy-apps/push-docker.html

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4