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

入門 Docker - JAWS-UG東京 ランチタイムLT会 #14

y-ohgi
August 20, 2024
300

入門 Docker - JAWS-UG東京 ランチタイムLT会 #14

JAWS-UG東京 ランチタイムLT会 #14 のLT資料です
https://jawsug.connpass.com/event/324650/

y-ohgi

August 20, 2024
Tweet

Transcript

  1. 自己紹介 • y-ohgi(20代) ◦ @_y_ohgi ◦ JAWS-UG 東京支部の運営 • Job

    ◦ どこかの会社の CCoE • Like ◦ IAM Identity Center ◦ Container
  2. Dockerとは? • Dockerは「コンテナ」 技術を扱うためのツール ◦ Dockerはコンテナのデファクトスタンダートといっても 過言ではない技術 • 「コンテナ」とは ◦

    コンテナは「プロセスのコンテナ化」 技術 ◦ VMは「OSレベルでの仮想化」 技術 • VMとコンテナは共存する技術 ◦ AWSであればFargateやLambdaが例に ◦ MicroVMであるFirecrackerの上にコンテナが乗る まずはコンテナについて Fargate Task Firecracker – サーバーレスコンピューティングのための軽量な仮想化機能 https://aws.amazon.com/jp/blogs/news/firecracker-lightweight-virtualization-fo r-serverless-computing/
  3. Dockerとは? Elastic Container Rgistry Elastic Container Service • オーバーヘッド ◦

    VMがOSレベルでの環境を提供することに対し、プロ セス単位での環境を提供するため軽量で少ないオー バーヘッド で動きます。 • Immutable Infrastructure ◦ IaCとしてDockerfileという機能があり、任意のタイミ ングの不変なスナップショット (イメージ)を取得でき ます。 • ポータビリティ ◦ 1つのスナップショットを複数の環境をレジストリに上 げることで、他の開発者への配布や本番環境の可 搬性が提供されます。 • docker compose ◦ ローカル環境で複数のイメージを同時に扱うような開 発環境が容易に構築できます。 developer A Developer B なぜDockerを使うのか
  4. Dockerとは? • Dockerは「コンテナ管理ツール」 ◦ コンテナランタイムの管理 ◦ イメージのビルドやプッシュ ◦ 他には「Podman」「Rancher」「Finch」などなど •

    OCI(Open Container Initiative) ◦ コンテナランタイムとイメージの標準仕様 ◦ OCIに準拠することで様々なツールやレジストリに互 換性が生まれます。 ◦ ECRやECSもOCIに対応 • CRI(Container Runtime Interface) ◦ Kubernetesがコンテナを管理するための標準仕様 ◦ Kubernetesでコンテナを動かすにはCRIに準拠した コンテナランタイム を使用する必要がある ◦ e.g. containerd, cri-o コンテナ管理ツールとコンテナの標準仕様 Cloud Native Landscape https://landscape.cncf.io/?view-mode=grid
  5. AWSとコンテナ Elastic Container Rgistry Elastic Container Service Fargate Lambda Elastic

    Kubernetes Service App Runner • AWSはコンテナ関連マネージドサービス が豊富 • コンテナイメージを保管するレジストリサービス ◦ ECR • コンテナオーケストレーション サービス ◦ ECS・EKS • コンテナをサーバーレス で扱うための機能も充実 ◦ Fargate・Lambda • 上記以外にも様々なエコシステムが存在! マネージドサービス
  6. • コンテナの責務 ◦ 任意のタイミングのスナップショット ◦ CPUやメモリなどリソースの分離 ◦ 軽量な実行環境 ◦ ポータビリティ

    • コンテナ単体では運用のための機能が不足 ◦ スケジューリング ◦ ヘルスチェック ◦ デプロイ ◦ ロードバランシング • コンテナオーケストレーションツサービスを使用 ◦ Elastic Container Service ◦ Elastic Kubernetes Service ◦ etc AWSとコンテナ Elastic Container Rgistry Elastic Container Service Fargate Lambda Elastic Kubernetes Service App Runner コンテナを運用するために
  7. まとめ • Dockerはコンテナ技術だよ ◦ コンテナは軽量で低いオーバーヘッド ◦ 高いポータビリティでローカルから本番まで! ◦ コンテナにも標準規格や様々な選択肢が存在 •

    コンテナ単体では運用が難しいよ ◦ コンテナオーケストレーションツールを使おう ◦ AWSのマネージドサービスを使いこなそう! • Docker入門資料「入門 Docker」を書きましたよ ◦ 「Dockerの入門からプロダクションで活用するプラ クティス」 ◦ 5年ぶりにアップデート!ほぼ書き直し! ◦ Dockerの各コンポーネント・ベストプラクティス・プロ ダクションへの導入・最新情報の追記・デバッグ方法 などなど 入門 Docker https://y-ohgi.com/introduction-docker/
  8. Dockerとは? • 2013年 ◦ Docker社によってDockerのリリース • 2014年 ◦ コンテナレジストリであるDocker Hubがリリース

    • 2015年 ◦ コンテナ標準企画「 OCI」をDocker社含めたAWSやGoogleなどの企業が設立 • 2017年 ◦ Docker社がDockerの中核となっていたcontainerdをCNCFへ寄贈 Dockerの歴史