Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,319 views

Published on

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

Published in: Law

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

  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 いつだって、いつまでだって、コンテナなんだ

×