Slide 1

Slide 1 text

コンテナってなんだ?
 hiroaki

Slide 2

Slide 2 text

Who am I ? 名前:hiroaki 技術:PHP/ Laravel, AWS 年齢:もうすぐ28歳 歴 :1年 趣味:筋トレ、サウナ

Slide 3

Slide 3 text

コンテナの話に入る前に・・・


Slide 4

Slide 4 text

サーバーで起こっていることを簡 単に確認してみましょう


Slide 5

Slide 5 text

アプリケーション ミドルウェア OS カーネル ハードウェア(CPU, メモリ等) デーモン ブートローダー デバイスドライバ シェル GUI

Slide 6

Slide 6 text

OS ハードウェア(CPU, メモリ等) プロセス1 プロセス2 プロセス3 プロセス5 プロセス4 プロセス6

Slide 7

Slide 7 text

ミドルウェア プロセスを生成
 カーネル   処理を実行
 プロセス1 プロセス2 カーネルがプロセスを発行


Slide 8

Slide 8 text

プロセスを生成
 プロセス発行する場所を分ける
 カーネル プロセス1 プロセス2   処理を実行


Slide 9

Slide 9 text

プロセス発行場所を分割
 カーネル お互いのことは把握していない
 全部把握


Slide 10

Slide 10 text

サーバー全体ではこんな感じ
 引用:『軽くて使いやすい仮想化技術 「Docker」の仕組みとエンタープライズ 
    開発における4つの活用事例』 


Slide 11

Slide 11 text

コンテナとは分離した
 プロセスの実行環境


Slide 12

Slide 12 text

Dockerとは??
 コンテナを作り出すソフト


Slide 13

Slide 13 text

socket or API docker クライアント docker エンジン docker デーモン

Slide 14

Slide 14 text

コンテナはイメージから作られる 画像元:『アーキテクチャの理解(公式)』 docker run docker build docker run

Slide 15

Slide 15 text

隔離された実行環境 コンテナを作るソフト コンテナ Docker

Slide 16

Slide 16 text

コンテナが複数あるときを考える network volume

Slide 17

Slide 17 text

コンテナ複数立てるのは大変 network volume

Slide 18

Slide 18 text

複数コンテナを扱うスペシャリスト docker-compose

Slide 19

Slide 19 text

コンテナを複数立ち上げるのは大変 network volume

Slide 20

Slide 20 text

docker-composeなら余裕 docker-compose.yml

Slide 21

Slide 21 text

本番環境の運用を考える EC2 サーバーダウン

Slide 22

Slide 22 text

本番環境は冗長化するのが基本 同じコンテナ構成作るの面倒。。。


Slide 23

Slide 23 text

コンテナ
 オーケストレーションサービス
 Kubernetes
 ECS
 EKS


Slide 24

Slide 24 text

同じコンテナ構成をつくる

Slide 25

Slide 25 text

サーバーの構成を維持する

Slide 26

Slide 26 text

サーバーの構成を維持する ✨ ✨ ✨

Slide 27

Slide 27 text

隔離された実行環境 コンテナを作るソフト コンテナ Docker docker-compose ECS 複数コンテナを 実行するツール コンテナを管理するサービス

Slide 28

Slide 28 text

ご清聴ありがとうございました。

Slide 29

Slide 29 text

References ・仮想化技術 https://codezine.jp/article/detail/7894 Web Sites etc. ・ECS https://kws-cloud-tech.com/ https://www.slideshare.net/zembutsu/what-isdockerdoing ・Dockerのアーキテクチャ https://www.ogis-ri.co.jp/otc/hiroba/technical/docker/part6.html https://knowledge.sakura.ad.jp/21387/ ・docker-compose https://docs.docker.jp/engine/introduction/understanding-docker.html