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

Docker Basic Seminar

Docker Basic Seminar

社内用に実施したDockerの基本セミナーです。
・Dockerの歴史
・Dockerの概要
・Dockerのアーキテクチャー
・Dockerのネットワーク
・Dockerのディスクマウントの概要

This is a basic seminar on Docker conducted for in-house use.
・History of Docker
・Overview of Docker
・Docker's architecture
・Docker Networking
・Docker Disk Mount Overview

Atsushi Suzuki

April 19, 2021
Tweet

Other Decks in Technology

Transcript

  1. 1. Docker/コンテナ型仮想化とは Bun/Lib App 1 Operation System Infrastructure Bun/Lib App

    2 Operation System Infrastructure Bun/Lib App 3 Operation System Infrastructure 物理 仮想化 ハードウェアリソースを削減するために、仮想化技術が活用されるようになった
  2. コンテナとは?(2) メリット: • 軽量 -カーネル部分をホストと共有 • 高速 -起動が早い、オーバーヘッドが少ない • 独立性

    -コンテナは閉じた仮想空間 デメリット: • ホストOSとは異なるOSのシステムをコンテナで稼働させることは出来ない • 学習コスト コンテナではこのOS部分が無くなる 従来型の仮想化 コンテナ型仮想化
  3. コンテナの歴史 1982 2000 2005 2006 2007 2008 Now Unix/chroot BSD

    FreeBSD jails/Solaris zones OpenVZ Parallels cgroups(Google社) AIX Wpars IBM LXC Redhat社がNamespaceを発表 同時期にcgroup(Google社)とNamespace(RedHat社) を組み込んだ最初のLinuxのコンテナエンジンをIBMが発表 cgroups/コントロールグループ:リソースを制限、管理 namespace/名前空間:プロセス毎に独立した空間を作る
  4. 4.Dockerの基本機能、アーキテクチャ Client DOCKER_HOST Registry >docker build docker daemon Containers Images

    ① ② ③ 最初にローカルを探し、対象イメージが無ければレジストリを探しにいく (何も設定してなければDockerHub) ② イメージをPullする コンテナ作成 >docker run ①~②を実行 ③を実行
  5. Dockerイメージ コンテナのひな形、設計図。 Base Imageの上に複数のイメージが積み重なるような構成 d76481af78e2 945c1d276463 88bb9e91b450 7e41963e3e30 Image Layer

    Image Layer Image Layer Image Layer Pull したDocker Image Image LayerをそれぞれPullしている Docker Image Imageの中身
  6. Dockerイメージ(2) Image Layerの共有でストレージを節約。 d76481af78e2 945c1d276463 88bb9e91b450 7e41963e3e30 d76481af78e2 945c1d276463 88bb9e91b450

    7e41963e3e30 コンテナA コンテナB dfg668758ho2 新しく作ったImage Layer 既にあるので、複製しない。 そのためリソースが節約できる
  7. ネットワークに関して(2) Container Container Container N A T (docker.internal.test) Eth0 veth

    Eth0 veth Eth0 veth NATは複数作成することが可能で、 コンテナ同士のネットワークを分離 することも可能。 Linuxの場合はBridgeを利用する。 192.168.5.165 172.20.100.0/24 172.20.100.54 172.20.100.55 172.20.100.56