Docker道場オンライン #1 に行ってきた #dockerdojo

Docker道場オンライン #1 に参加しました。今回はオンライン開催。簡単に所感をまとめます。

dockerdojo.connpass.com

所感

Docker は、社内でちょっとした開発ツールを試すときに触ってみた程度です。きちんと基本から理解しておきたいところ。今回は Docker のコンセプトや基本的な概念の話でした。特にイメージレイヤの話は参考になりました。

Play with Docker は初めて知りました。便利そう。Docker Desktop でプロキシに悩まされたあの頃はなんだったのか...。

第2回があったら参加したいなー。

YouTube はこちら。

youtu.be

以下、メモから抜粋。

www.slideshare.net

  • 仮想サーバーをコンテナで代替するものではない
  • Build, Share (Ship), Run
  • Play with Docker
  • Linux のコンテナ技術を簡単にアプリを移動したり共有したりしたい ⇒ Docker
  • すべての依存関係をパッケージ化してコンテナ化して動かす
  • 一般的なプロセス実行
    • OS がユーザー空間にプロセスを起動する
  • コンテナでは特別な状態でプロセスを起動する
  • cgroup でリソースを制限する
    • CPU, メモリ, I/O, ...
  • Docker エンジン (dockerd デーモン)
    • Docker クライアントのコマンドを受け付ける
    • Docker イメージを使ってコンテナのプロセスを起動する
  • Docker イメージ
  • イメージレイヤ☆
    • ファイルシステム/アプリケーションとメタ情報が含まれる
      • 設定ファイル, コマンド, プログラム, ...
    • 親子関係を持つ
    • 親子関係のイメージレイヤをまとめてタグを付けられる
    • 他のイメージレイヤと共有できる (GitHub の fork みたいなもの)
  • イメージレイヤは削除できない
    • 部分的に差し替える場合は派生イメージとして別に作られる
  • ベースイメージ = OSレイヤ?
  • Dockerfile
    • Docker イメージを作成するための設計図
    • FROM, ADD, ENTRYPOINT, CMD, ...
    • Docker は docker commit でイメージレイヤ群を自動構築する
  • カーネルに依存するプログラムでは Docker は向かない
  • Docker コンテナ
    • イメージレイヤは読み込み専用
    • コンテナ実行時に読み書き可能なイメージレイヤを追加する☆
    • Copy on Write
  • docker inspect
    • Docker コンテナの情報を表示する
  • docker history
    • イメージレイヤの情報を表示する?
  • Docker Compose
    • 複数のコンテナをまとめて管理する
    • コンテナ, ネットワーク, ボリューム, ...
  • Docker ボリューム
    • 永続領域の管理
    • ホスト上の領域を参照可
  • ドキュメント