Skip to content

Instantly share code, notes, and snippets.

@ohtake
Last active August 29, 2015 13:59
Show Gist options
  • Save ohtake/10460725 to your computer and use it in GitHub Desktop.
Save ohtake/10460725 to your computer and use it in GitHub Desktop.
Docker Meetup Tokyo #2 のメモ

Docker Meetup Tokyo #2

今からでも間に合うDocker基礎+Docker 0.9概要+Docker 0.10概要

プロジェクタが映らないので各自 SlideShare を見ながら発表を聞く形。

  • @mainyaa

  • http://www.slideshare.net/mainya/dockerdocker09-010

  • コンテナ仮想化

  • Dockerfile の行ごとにコンテナIDが作られ差分管理やロールバックなどができる

  • 0.9 から LXC への依存がなくなった

  • AUFS で親コンテナからの差分を保存

  • 64 bit の Linux 3.8 以降という制約

  • Docker 0.9 概要

    • execution driver による足回り抽象化で LXC に依存しない
    • libcontainer がデフォルト
  • Docker 0.10 概要

    • おとといリリース
    • systemd プラグイン
  • Docker 1.0 の目標

    • プロダクション品質
    • 小さなコアとプラグイン
    • 商用サポート

Linuxカーネルのコンテナ関連機能入門

  • @ten_forward

  • ファーストサーバ

  • https://speakerdeck.com/tenforward/linuxkontenaru-men-kontenafalseji-chu-tozui-xin-qing-bao-2014-04-12

  • コンテナのメリット

    • OS は一つで、ハードウェア仮想化が不要で、コンテナ内でプロセスが動いているだけ、仮想マシン上でも動く
    • 仮想化というよりかは隔離化
  • コンテナのデメリット

    • ホストOSで動くプログラムしか動かない、カーネルにかかわる操作はできない
  • Linux カーネルバージョンとコンテナ

    • 3.0: setns システムコール
    • 3.8: コンテナの主要機能がそろった
    • 3.9: 主要機能が実用になった
  • Linux コンテナを実現するための機能

    • Namespace
    • cgroups
    • chroot
    • ネットワークやリソース制限など
  • Namespace の種類

    • Mount namespace
    • UTS namespace: ホスト名など
    • PID namespace
    • IPC namespace: セマフォなど
    • User namespace: ホストに対する特権がなくなる
    • Network namespace
  • Namespace の操作

    • clone, unshare, setns
  • Cgroup

  • LXC の動向

    • 2008年頃から開発スタート
    • 2014年2月に 1.0.0 リリース
      • 非特権
      • クローンとスナップショット機能
      • Ubuntu と合わせて 1.0 系は5年サポート
      • テンプレートの充実で CentOS でも使えるようになった

Dockerアプリケーションのポータビリティを考える

  • @naoya_ito

  • https://speakerdeck.com/naoya/dockerapurikesiyonfalsepotabiriteiwokao-eru-number-dockerjp

  • アプリケーションをポータブルにすることの文脈

    • Docker コンテナによる下層の抽象化
    • Disposable による再現可能性の要求
  • Build once, run anywhere の例

    • セットアップが大変な JIRA もイメージが公開されているので1コマンドで立ち上がる
  • デプロイ先がコンテナだと

    • デプロイのたびにコンテナが破棄される
    • そのためにアプリケーションに再現性が必須となる
  • 再現可能にするには

    • ステートレスかつ shared nothing
    • 環境の明確化、抽象化、冪等化
      • Bundler, Rack, Foreman
  • Tweleve-Factor App

  • naoya/docker-paas-example

    • git push により Docker コンテナでアプリケーションを動かす
    • post-update hook で docker run
    • git clone して Buildpack 適用
  • 作った感想

    • Buildpack は柔軟で便利だがビルドに時間がかかったりする
    • 指定された Ruby をビルドしたコンテナを Docker で作り置き
    • 3分間クッキング

LT

椅子が片づけられちゃったのでメモれてない。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment