Upgrade to Pro — share decks privately, control downloads, hide ads and more …

軽量イメージ時代を 生きるためのAlpine Linux

軽量イメージ時代を 生きるためのAlpine Linux

2016/04/21 Alpine Linux Meetup #1

stormcat24

April 21, 2016
Tweet

More Decks by stormcat24

Other Decks in Programming

Transcript

  1. ‣ @stormcat24 ‣ Akinori Yamada ‣ CyberAgent, Inc. ‣ Technical

    Engineer ‣ DevOps ‣ http://blog.stormcat.io ‣ ‭‭‭‭‭FRESH!
  2. apk add ‣ パッケージを追加するコマンド ‣ 1回で複数パッケージ指定可能 ‣ apk add bash

    zsh ‣ バージョン指定、範囲指定 ‣ apk add ruby=2.2.4-r0 ‣ apk add 'nginx<1.8.2'
  3. apk add —virtual ‣ パッケージ群をひとまとめにして、別名をつける ‣ apk add --virtual=build-dependencies build-

    base perl-dev ‣ ビルドには必要だが、実行には不要な産業廃棄物を 後からまとめて削除しやすい
  4. █████FRESH! ‣ 動画配信プラットフォーム ‣ Amazon EC2 Container Service(ECS) ‣ Microservices

    ‣ Nginx/Go/Node/HAProxyコンテナ等 ‣ UbuntuベースからAlpineベースに移行 ‣ 今のところ特に問題なし
  5. Nginx(Ubuntu時代) ‣ confに環境変数埋め込むために、 HttpPerlModule利用 env SERVER_NAME; http { perl_set $env_server_name

    'sub { return $ENV{“SERVER_NAME"}; }'; } server { listen 80; server_name $env_server_name; charset utf-8; # hogehoge } ※perlが必要になってイメージがデブる
  6. entrykit使用 server { listen 80; server_name {{ var “SERVER_NAME" |

    default “www.example.com” }}; charset utf-8; # hogehoge } ※これはテンプレ nginx.conf.tmpl server { listen 80; server_name www.example.com; charset utf-8; # hogehoge } ※runしたときの完成形 nginx.conf