ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ...
Transcript of ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ...
![Page 1: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/1.jpg)
ヽ(´・⾁・`)ノログとDocker
![Page 2: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/2.jpg)
タイトルずれました
��������������������������������������������������������������������
������������������������������
�������������������������������
![Page 3: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/3.jpg)
自⼰紹介
にく
I�like
コンサドーレ札幌
Emacs
Ruby
Elixir/Phoenix
![Page 4: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/4.jpg)
自⼰紹介
github̲id�::�niku
twitter̲id�::�niku̲name
web�::�http://niku.name/
![Page 5: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/5.jpg)
今⽇話すこと
http://niku.name/
どうやって表⽰しているか
どうやってコンテンツ更新しているか
![Page 6: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/6.jpg)
どうやって表⽰しているか
���������������������������������������������������������������������
Apache�Webサーバー
Rack�サーバーとアプリケーションを繋ぐミドルウェア
nwiki�git�のファイルの内容を�
web�に表⽰する
nikulog�コンテンツ(git管理)
![Page 7: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/7.jpg)
つらみ
アプリケーション開発者にとっての趣味サーバー管理
サーバー管理者にとっての趣味アプリケーション開発(?)
「これ,どうやるんだったっけ……」
![Page 8: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/8.jpg)
つらみ
知識としてはある
たまにしかやらないので毎回調べるはめになる
[apache�設定�やり⽅]�[検索]
![Page 9: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/9.jpg)
つらみ対策
プロビジョニングツール
chef�/�itamae�レシピ書けます
いいものだ
(僕は)サーバー管理の⼿数を減らしたい
選定や知識のアップグレードの時間を投資し続けることができるだろうか?
![Page 10: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/10.jpg)
つらみ対策
わかれていると管理しやすいのでは
ミニマム構成のサーバー部分
⽳が少ない
気軽にアップデートでき,動作検証しやすいアプリケーション
![Page 11: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/11.jpg)
つらみ対策
ミニマム構成のサーバー�=>�Docker�だけインストールした�
Debian
気軽にアップデートでき,動作検証しやすいアプリケーション�
=>�Dockerイメージ
![Page 12: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/12.jpg)
Dockerイメージを載せるサーバー
さくらVPSにDebian8をインストールして,コマンドを⼿で打ちました
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 13: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/13.jpg)
Docker
���������������������������������������������������������������������
![Page 14: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/14.jpg)
Docker
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 15: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/15.jpg)
niku/debian
PackerでOSイメージを自分で作る⽅法を知っていた
Packerを使ってVagrantのBoxを作る⽅法を⼀つずつ説明する�
-�ヽ(´・⾁・`)ノログ
(URL⻑くて⼊らなかった)
![Page 16: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/16.jpg)
niku/debian
OS�イメージ作成,サーバー起動,サーバーログイン
����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 17: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/17.jpg)
niku/debian
Debianサーバー内でDockerイメージ⽣成,DockerHubへpush
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 18: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/18.jpg)
niku/nwiki
AutomatedBuild
Github�リポジトリを更新
Github�から�Dockerhub�へ�
Webhook�でおしらせ
Dockerhub�が�Dockerfile�を元に�Docker�イメージをビルド
![Page 19: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/19.jpg)
niku/nwiki
やりかた
Dockerfile�のある�github�リポジトリを�Dockerhub�に�
AutomatedBuild�で登録
![Page 20: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/20.jpg)
niku/nwiki
やりかた
github�の�webhook�に�
Dockerhub�を指定
![Page 21: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/21.jpg)
niku/nwiki
nwiki/Dockerfile
�������������������������������
�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�������������������������������������������������������������
![Page 22: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/22.jpg)
niku/nikulog
同様にAutomatedBuildを利用
![Page 23: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/23.jpg)
niku/nikulog
nikulog/Dockerfile
������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 24: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/24.jpg)
サーバーとイメージ準備完了
������������������������������������������������������������������������������������������������������
で表⽰できるようになった�(^o^)/
![Page 25: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/25.jpg)
niku.name�更新のしくみ
更新は?�∑(゚□゚;)
![Page 26: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/26.jpg)
niku.name�更新のしくみ
Docker導⼊以前
��������������������������������������������������������������������
![Page 27: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/27.jpg)
niku.name�更新のしくみ
参考にした
DockerHubのAutomated�Buildsをフックして最新のDockerコンテナをデプロイする�|�SOTA
http://deeeet.com/writing/2015/01/08/dockerhub-hook/
![Page 28: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/28.jpg)
niku.name�更新のしくみ
Docker導⼊後
�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 29: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/29.jpg)
niku.name�更新待受
![Page 30: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/30.jpg)
niku.name�更新待受
Webhook待受サーバー
bketelsen/captainhook
https://github.com/bketelsen/captainhook
HTTPリクエストがくると設定したjsonのとおりにコマンドを実⾏する
![Page 31: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/31.jpg)
niku.name�更新待受
サーバーに追加でアプリケーションを⼊れたくない
niku/yobirinex
https://github.com/niku/yobirinex
実⾏環境(ErlangVM)も同梱できるのでtarファイル展開した以下で完結する
![Page 32: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/32.jpg)
niku.name�更新待受
ErlangVM同梱HTTPサーバーの作りかた
ElixirでHTTPのやりとりをする
http://niku.name/articles/2015/07/03/Elixir%E3%81%A7HTTP%E3%81%AE%E3%82%84%E3%82%8A%E3%81%A8%E3%82%8A%E3%82%92%E3%81%99%E3%82%8B
![Page 33: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/33.jpg)
niku.name�更新待受
更新用設定ファイル
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 34: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/34.jpg)
niku.name�更新待受
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
![Page 35: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/35.jpg)
その他/話せなかったこと1
Dockerhub�のビルド遅くて数分から⼗数分待つことがある.急いでないので別に問題にしていない
Webhook⾶んでこないことある.Dockerhubならwebから⼿動でビルド,niku.nameならローカルからcurlでリクエストしてる
![Page 36: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/36.jpg)
その他/話せなかったこと2
docker-compose使ってない.Vagrant�の�docker�プロビジョンでまだ対応していない
Vagrant�から�Docker�を使ったときの�docker�exec�デバッグのやりかたを書きたかったけど時間なかった
PackerでイメージつくるときのDEBCONF̲DEBUG=5の有用さ
![Page 37: ヽ(´・⾁・`) ノログとDockerchef/itamaeレシピ書けます いいものだ (僕は)サーバー管理の 数を減ら したい 選定や知識のアップグレードの](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca61bb0b7265388253ed0e/html5/thumbnails/37.jpg)
まとめ
niku.nameの表⽰
Dockerイメージ
niku.nameの更新
GithubのWebhook
DockerHubのAutomatedBuild
DockerHubのWebhook
独自Webhook待受サーバー