Docker
https://gyazo.com/8dbfbad49c1689e36e77019ebdb275bd
https://overcast.fm/+NTdOFKHAA
Kohei Tokunaga
コンテナとホストの隔離技術
3つぐらいある
Kubernetes
低レベルランタイム
OCIランタイム
spacがある
実装
runC
高レベルランタイム
大きく2つ
人間向け
開発者がコンテナを使うランタイム
Docker
Podman
なーどctl
先進的な機能を試したい時に使う
k8s上で使われるCRIインタフェースを実装しているランタイム
Dockerをホストで動かすとおこること
dockerdにhttpコマンドがわたる
dockerd
Dockerが出た時
もともとは1つの大きなデーモン
dockerdはContainerdにイメージデータを渡してコンテナ作成を支持する。するとOCIランタイムをつかってコンテナを作る
k8sの流れ
ユーザーのManifestがk8sのコンポーネントに送られ、podがメタデータとして追加。作成
どのカードで実行するかスケジューリング
Pod作成
kubeletは各ホストにいるエージェント。これが指示を受け取ってPodを作成する
kubeletは各種命令をCRIランタイムに出す
コンテナ作成、イメージのpull命令、展開、実行時情報の準備
kubeletは直接コンテナをつくらない
どう指示を出す?
ソケット経由
gRPCを使っている
むかしは直でDocker APIを叩いていた
1.20からdeprecated
ルートファイルシステムのデータや実行時情報をOCIランタイムにわたし、処理命令をする
提供するもの
コンテナの作成やコンテナ内でファイルシステムとして使われるイメージの作成および管理、コンテナの実行といった機能
提供しないもの
ネットワークのルーティングや複数コンテナの連携、複数台のサーバーを対象にコンテナを横断的に管理する機能などは提供されていない
Understanding Docker: part 1 – Retrieve & Pull images - DEV(2020年8月3日)
著者が勉強したときに書いた図による説明
kubernetesによるDockerコンテナ管理入門 | さくらのナレッジ
【図解】Dockerの全体像を理解する -前編- - Qiita
2020-12-08 「イラストでわかるDockerとKubernetes」は完全に良書 - Cloud Penguins
https://www.amazon.co.jp/exec/obidos/ASIN/B08PNMRXKN/
https://github.com/docker/getting-started
NodeでTodoアプリ作成
Dockerfileの作成
docker buildでDockerfileからイメージを作成する
The CMD directive specifies the default command to run when starting a container from this image.
ビルドがこける
https://github.com/docker/getting-started/issues/220
https://github.com/docker/getting-started/issues/227
docker runでサーバーの起動
コード修正して再度ビルド
修正したアプリをdocker runするもポートが同じなので起動に失敗する
以前のContainerを取り除く
docker ps
docker rm -f
Windows版Docker|3種類の違い
https://gyazo.com/7e2b4ba62a81b627c7ec81ae5d9fb960
/icons/todo.icon
Docker/Kubernetes 実践コンテナ開発入門 出版に寄せて · tehepero note(・ω<) 2.0
/icons/empty.icon Container Registry and Runtime | Heroku Dev Center
/icons/empty.icon Dockerアプリケーションの構成
codeschool/WatchUsBuild-SimpleNodeAppWithDocker: Watch Us Build code for the Simple Node App With Docker screencast.
5 Fatal Docker Gotcha's 😱 - for new users - DEV Community 👩‍💻👨‍💻
✅Code School: TRY-DOCKER をやる
素振り
Docker修行
テスト
コンテナイメージを丁寧に作る | 日販コンピュータテクノロジイ株式会社(NCT)
マイクロサービスほどじゃないけどウェブサービスを分割開発したい人向けDocker設定を集めるスレ - Qiita
CoreOS
#Docker