あの日実行したコンテナの名前を僕達はまだ知らない。

374 views

Published on

OSC2016 Tokyo/fall スポンサーLT用の発表資料です。
詳しくは203号室でデモしています。

Published in: Law
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
374
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

あの日実行したコンテナの名前を僕達はまだ知らない。

  1. 1. あの日実行した コンテナの名前を 僕達はまだ知らない。 Masahito Zembutsu @zembutsu Open Source Conference 2016 Tokyo/Fall; Sponsored LT
  2. 2. Sakura Iot Platform+Zabbix demo 2 Linux (CentOS 7.2) http://monitoring.pocketstudio.net / (59.106.214.205 ) WebSocket 受信スクリプト(Perl) ↓ zabbix_sender で Zabbix に送信 ↓ Zabbix でデータ収集・グラフ化・アクション 通信モジュール 3G/LTE 閉域網 WebSocket Arduino 温湿度センサ
  3. 3. 3
  4. 4. 4
  5. 5. 5 #!/usr/bin/perl use strict; use warnings; use Mojo::UserAgent; my $ua = Mojo::UserAgent->new; $ua->websocket('wss://secure.sakura.ad.jp/iot-alpha/ws/xxxxxxxxxx/' => sub { (略) open(CMD, "zabbix_sender -z 127.0.0.1 -s ¥"Zabbix server¥" -k sakura_iot_temp -o $dat |"); print "Temp:",$dat,"¥n"; print "zabbix_sender -z 127.0.0.1 -s ¥"Zabbix server¥" -k sakura_iot_temp -o ",$dat,"¥n"; getWebSocket.pl 補足資料: WebSocketの取得とzabbix_sender 処理の流れ: 1. さくらの Iot Platform からの WebSocket を受信 2. データから、温度と湿度のデータを zabbix_sender で送信
  6. 6. 6
  7. 7. 7
  8. 8. ペットから家畜の時代へ。
  9. 9. /home/demo/sphinx-demo/arukas-image-build.sh http://sphinx.docker.jp/ (59.106.220.93 ) +- /soruce/ ReSTドキュメント +- /html/ HTML生成先 #!/bin/sh if [ -e html ]; then mv html archive/html.$(date +%s) fi docker build -t sphinx-demo . docker run sphinx-demo docker cp $(docker ps -lq):/opt/sphinx/build/html . docker rm $(docker ps -lq) docker build -t nginx-sample --file ./Dockerfile.nginx . docker tag nginx-sample zembutsu/nginx-sample:latest docker push zembutsu/nginx-sample:latest image: nginx-sample:latest Docker Hub https://<name>.arukascloud.io デモ概要: Sphinx のコンテンツを Docker コンテナ化し Arukas.io にデプロイ、公開する arukas-image-build.sh ① ② ① ② ③ ③ ④ ④ ①~③ ⑤ ⑤
  10. 10. SphinxコンテナNginxコンテナ自動生成 arukas-image-build.sh 処理の流れ: 1. sphinx-demo イメージに Sphinx のコンテンツを取り込む 2. ドキュメント生成後、Nginx イメージを作成してコンテンツを格納 3. Docker Hub のリポジトリにアップロード #!/bin/sh if [ -e html ]; then mv html archive/html.$(date +%s) fi docker build -t sphinx-demo . docker run sphinx-demo docker cp $(docker ps -lq):/opt/sphinx/build/html . docker rm $(docker ps -lq) docker build -t nginx-sample --file ./Dockerfile.nginx . docker tag nginx-sample zembutsu/nginx-sample:latest docker push zembutsu/nginx-sample:latest arukas-image-build.sh FROM ubuntu:16.04 RUN apt-get -y update && apt-get -y upgrade RUN apt-get -y install python-sphinx make ADD . /opt/sphinx WORKDIR /opt/sphinx CMD make html Dockerfile FROM nginx:latest ADD ./html /usr/share/nginx/html Dockerfile.nginx Ubuntu イメージが元 python-sphinx, make のセットアップ カレントをコンテナの /opt/sphinx へ 作業ディレクトリの指定 デフォルトで make html (コンテンツ生成) nginx イメージが元 ./html をコンテナ内のドキュメント・ルートへ html ディレクトリがあれば 日付付きバックアップ作成 sphinx-demo イメージ作成 sphinx-demo コンテナで HTML 生成 HTML をホストにコピーし、コンテナ削除 HTML を収容した nginx イメージを作成し Docker Hub にアップロード (push)
  11. 11. 手順:任意のコンテンツを Nginx イメージ化してデプロイ 1. sphinx.docker.jp (59.106.220.93) の demo アカウントに ssh ログイン ※さくらのクラウドです。ログインのためには公開鍵が必要です。 2. cd sphinx-demo (この中にファイルがあります)で移動します。 3. source/index.rst など、コンテンツを編集します(何かメッセージを残す)。 4. arukas-image-build.sh を実行し、Docker Hub に push します。 ※ https://hub.docker.com/r/zembutsu/nginx-sample/tags/ の “Last Updated” を見ると、最新になります。 5. arukas にログインします。 6. 【新しいアプリケーションを作成】をクリックします。 7. 所定の項目を入力します。 • App Name:任意のアプリ名(Arukasで表示する名前) • Image:zembutsu/nginx-sample • Instance(インスタンス数)、Memory(メモリ)、Endpoint(ホスト名):任意 • Port:【80】または任意 • そのほか:デフォルト 8. 【アプリケーションを作成】をクリックします。 9. ダッシュボードの起動ボタン をクリックします。 10.アプリ名をクリックし、エンドポイントの URL を確認します。 11.ブラウザでエンドポイントを開き、コンテンツの反映を確認します。
  12. 12. Docker Hub いつだって、いつまでだって、コンテナなんだ

×