SlideShare a Scribd company logo
1 of 66
Download to read offline
Swarm mode Orchestration
~環境の再発明をComposeで脱却! ~
Sakura Internet, Inc.
Masahito Zembutsu @zembutsu
Japan Container Days
Dec 4, 2018
Docker Compose &
2
@zembutsu
前佛 雅人
zembutsu@zembutsuBlog: https://pocketstudio.net
Factorio大好き
https://factorio.com/
さくらインターネット株式会社
技術本部ミドルウェアグループ
Technology Evangelist / Developer Advocate
3
http://docs.docker.jp/
Dockerとは?
4
Why Docker?
1
Dockerコンテナは
実行に必要な全て
をパッケージして、
簡単に動かせる
2
Dockerイメージは
複数のイメージ・レイ
ヤとメタ情報の積み
重なり
3
コンテナのプロセス
はデフォルトで
isolate(隔離・分離)
された状態
 イメージ・レイヤ(image layer)は
読み込み専用
 親子関係がある
 イメージに対する変更はCopy on
Write(CoW)処理が走る
 コンテナ実行にはイメージが必要
で、Docker Hubから得られる
 コンテナ実行時のみ、読み書きが
可能なレイヤを追加
 namespace(名前空間)でプロセ
ス空間やファイルシステムやネッ
トワーク等を分ける技術と、
cgroups(コントロール・グループ)
でリソースの利用上限を指定
 コンテナはポートをデフォルトで開
かない
 ネットワークはブリッジ、ホスト、
noneの3種類
 ボリュームはコンテナ間でファイル
システムを共有できる。名前付き
(named)とホスト・ボリューム
アプリケーションを 簡単に開発し、
移動し、実行するためのプログラム
とプラットフォームを提供するのが
Docker
クライアント・サーバ 型
https://docker.com
プロセスを簡単にコンテナ化(isolate)し、
簡単かつ素早く開発・移動・実行できるプラットフォームが Docker
Containerization
「プロセス・ファイルシステム・ネットワーク・等々」に対して
Namespace・Cgroup
Build Ship Run
Docker
5
“Docker allows you to package an application
with all of its dependencies into a standardized
unit for software development.”
www.docker.com
全ての依存関係をパッケージ化して、コンテナとして動かす
Dockerイメージとして
Linuxファイルシステムを
Dockerイメージはイメージ・レイヤの積み重ね
6
利用者からは
1つに見える
親
子
関
係
派生も
共有
利用者からは
1つに見える
プログラムやライブラリと
メタ情報(実行するプログラムやポートなど)
だから高速に移動できる・開発を高速化できる
リソースを有効に使える “lightweight” な性質
7
利用者からは
1つに見える
alpine
docker image build -t <IMAGE:TAG> .
(docker build)
8
利用者からは
1つに見える
hello:v1
FROM alpine
ENTRYPOINT ["/bin/echo"]
CMD ["こんにちは!こんにちは!"]
docker image build -t hello:v1 .
(docker build)
9
hello:v1
FROM alpine
ENTRYPOINT ["/bin/echo"]
CMD [“おはよう!おはよう!"]
docker image build -t hello:v2 .
(docker build)
hello:v2
Alpine Linux
10
https://www.alpinelinux.org
gliderlabs / docker-alpine
11
イメージ・レイヤ
docker image pull (docker pull)
12
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest
Docker Hub
Docker
13
“Docker allows you to package an application
with all of its dependencies into a standardized
unit for software development.”
www.docker.com
全ての依存関係をパッケージ化して、コンテナとして動かす
Dockerイメージとして
Linuxファイルシステムを
14
DockerコンテナはDockerイメージを実行
15
元のレイヤに対する変更情報を記録
Copy on Write の性質
利用者からは
1つに見える
利用者からは
1つに見える
だから高速に移動できる・開発を高速化できる
リソースを有効に使える “lightweight” な性質
16
Docker≠コンテナ
コンテナは怖くないよ
コンテナは友達さ!!
17
技術と仕様
Technology Specification
コンテナ Docker
18
OS上のプロセスを
isolate(分離)する
insulatus→isolated→isolate
isle island
19
21
プロセス等を名前空間で分離
cgroupでリソースを割り当て
namespace isolate
control group
PID名前空間
22
httpd
PID 1
プロセスhttpd
名前空間
プロセスruby
名前空間
ruby
PID 1
chris.rb
PID 2
/sbin/init
PID 1
containerd
PID 5
httpd
PID 6
ruby
PID 7
chris.rb
PID 8
alice
PID 2
bob
PID 3
PPID 1 PPID 1
PPID 4
PPID 5 PPID 5
PPID 7
PPID 1
dockerd
PID 4
ホスト上には存在
ファイルシステムを分ける (chroot)
23
ubuntuの
ファイルシステム
… …
centosの
ファイルシステム
/etc /bin /etc /bin
/ /
/data/ubuntu /data/centos
/
/etc /data/bin ホスト上には存在
コンテナはプロセスの状態
24
コンテナAの
ファイルシステム
… …
コンテナBの
ファイルシステム
/etc
(/data/ubuntu/etc)
/bin
(/data/ubuntu/bin)
/etc
(/data/centos/etc)
/bin
(/data/centos/bin)
/ /
httpd
PID 1
プロセスA プロセスB
ruby
PID 1
chris.rb
PID 2
コンテナA コンテナB
名前空間の isolate
・プロセス
・ファイルシステム
・ネットワーク
・ホスト名
・UID・GID
・プロセス間通信、等
cgroupでリソース制限
・CPU
・メモリ
・I/O
・ディスク・クォータ、等
25
プロセス等を名前空間で分離
cgroupでリソースを割り当て
namespace isolate
control group
26
コンテナやイメージの操作は
コンテナIDやコンテナ・イメージIDを
中心に操作
Docker Engineのアーキテクチャ
27※ Docker Engine v1.11 以降
ユーザ
(docker CLI等)
Docker Container Engine
dockerd
containerd
(docker-containerd)
shim
(docker-containerd-shim)
shim
(docker-containerd-shim)
shim
(docker-containerd-shim)
runC
(runtime-runc)
コンテナ
Docker Image
コンテナ
Docker Image
コンテナ
Docker Image
JSON/REST API
CNCF/OCI業界標準規格に準拠
runC
(runtime-runc)
runC
(runtime-runc)
gRPC エンドポイント
Docker Engine トップレベルのデーモン
(Moby プロジェクトの成果物)
Docker イメージに含むファイルを、
パラメータに従い、コンテナとして実行
コンテナを実際に作成・起動する
ランタイムのバイナリ・プログラム
コンテナやイメージをはじめとし、
ネットワーク、ストレージを管理する
必要最小限のデーモン
ランタイムが実行したコンテナを管理
複数のコンテナを一括管理する
Docker Compose
Docker Compose
28
Docker Composeとは?
29
Why Docker Compose?
1
Composeは
アプリケーションの
サービスをファイル
で定義する
2
Dockerコマンドと
高い親和性がある
ので学習コストが
低い
3
Swarm モードに
サービスをデプロイ
できるオーケストレー
ション機能
 docker-compose CLI のコマン
体系は docker に準拠
 例:「docker run -d」は
「docker-compose up -d」
Docker swarm モードを使えば、
サービス状態を定義できるので
常に期待状態を維持できる
docker stack deploy
Ingress ネットワークの活用
 Compose ファイル (YAML形式)
で Docker コンテナのサービスを
定義できるため、
再利用性が高い
 コンテナの状態
 イメージ
 ネットワーク
 ボリューム
 メタ情報
https://github.com/docker/compose
複数のコンテナで構成するアプリケーションを
定義と実行するためのツール
multi-container applications
define and run
30
version: '3'
services:
web:
image: zembutsu/docker-sample-nginx
deploy:
replicas: 3
resources:
limits:
cpus: "0.1"
restart_policy:
condition: on-failure
ports:
- "80:80"
networks:
internal:
aliases:
- web
volumes:
- /etc/localtime:/etc/localtime:ro
networks:
internal:
31
Mastodon
32
redis
:alpine
postgres
:alpine
サービス サービス
イメージ イメージ
nginx
:alpine
サービス
イメージ
gargron/mastodon
:v1.4.6
サービス
イメージ
gargron/mastodon
:v1.4.6
サービス
イメージ
gargron/mastodon
:v1.4.6
サービス
イメージ
namshi/smtp
:latest
サービス
イメージ
https://github.com/tootsuite/mastodon
ネットワーク
192.168.0.0/16 mastdon (external)
ホスト側ネットワーク
eth0等
mastodon_postgresmastodon_redis certbot
(external)
assets packs system
volumevolume volume volume volume volume
80 443
80 443
services:
volumes:
networks:
33
3つの Docker 標準ネットワークモデル
bridge
(bridge)
host
(host)
none
(null)
ブリッジ(bridge0 …)
veth
eth0
ethX
34
3つの Docker 標準ネットワークモデル
bridge
(bridge)
ブリッジ(bridge0 …)
veth
eth0
ethX
none
(null)
host
(host)
複数のブリッジ(ネットワーク)を定義できる
デフォルトのbridge0ブリッジは、旧仕様の
ネットワークで、挙動が異なる
35
3つの Docker 標準ネットワークモデル
bridge
(bridge)
host
(host)
none
(null)
ブリッジ(bridge0 …)
veth
eth0
ethX
ホスト側のネットワークに直接接続
ブリッジのオーバーヘッドがない一方で、
セキュリティに対する考慮が必要
36
3つの Docker 標準ネットワークモデル
bridge
(bridge)
host
(host)
ブリッジ(bridge0 …)
veth
eth0
ethX
ネットワークを追加しない限り疎通できない
none
(null)
37
3つの Docker 標準ネットワークモデル
bridge
(bridge)
host
(host)
none
(null)
ブリッジ(bridge0 …)
veth
eth0
ethX
NAT
(iptables)
+
docker-proxy
ホストと
ネットワーク
共通
疎通しない
コンテナはパブリックなIPアドレスを持ない
ホスト側のポート番号を重複して、コンテナ
のポート利用(マッピング)はできない
動的なネットワークの追加・変更・削除
38
コンテナは複数のネットワーク(ブリッジ)に接続できる
ブリッジ1(bridge)
veth
eth0
ethX
各ネットワーク内部では、動的なコンテナ名
(サービス)の名前解決機能(サービス・ディス
カバリ)を標準提供
eth0 eth1 eth0
ブリッジ2(bridge)
veth192.168.0.1
172.18.0.2 172.18.0.3 172.19.0.2 172.19.0.3
172.19.0.1
172.19.0.0/16172.19.0.0/16
サービス・ディスカバリ連携の負荷分散
39
データの扱い
コンテナA専用
ファイル階層
File System
…
/
/bin
/etc
/var
コンテナB専用
ファイル階層
File System
…
/
/bin
/etc
/var
hello.txt
×
HOST Root
File System
/var/lib/docker/overlay/
hello.txt
ディレクトリはストレージドライバによって異なる
A
BUFS( Union File System )
40
コンテナ
ファイル階層
File System
/
UFS ( Union File System)…
/
/bin
/var
Docker
イメージ
Docker Image
/var/lib/docker/image/
volume
/
ボリューム
Volume
/data
コンテナ用
イメージ層
Container’s
Image Layer
/
/var/lib/docker/volumes//var/lib/docker/containers/
ReadOnly
41
データ・ボリューム
コンテナA専用
ファイル階層
File System
…
/
/bin
/etc
/var
コンテナからはUFSを通してデータ領域が見える
ストレージ・ドライバのオーバヘッドを受けない
複数のコンテナでボリュームを共有できる
volume
/data
/
ボリューム
Volume
/var/lib/docker/volumes/HOST Root
File System
42
ボリュームは3分類
ホストをマウント 名前付き
ホスト上のディレクトリ
/docker/data
/data
名前無し
volume
ボリュームの実体は、ホスト上のディレクトリ
/var/lib/docker/volumes
ボリュームはコンテナ間でデータを共有できる
volume
/data /data /etc
クラスタ初期化と join 手順
43
manager $ docker swarm init
Swarm initialized: current node (hhzcdnj2r43ywjcmjcwbgvwa7) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0w2m8k41xh1tbapub….. <IP_ADDR>:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
worker
$ docker swarm join ¥
--token SWMTKN-1-0w2m8k41xh1tbapub….. <IP_ADDR>:2377
managerのIPアドレスとポート
This node joined a swarm as a worker.
クラスタ join 時のトークン確認
44
manager $ docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0w2m8k41xh1tbapubwl7sd7j7x….. <IP_ADDR>:2377
manager $ docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0w2m8k41xh1tbapubwl7sd0m0….. <IP_ADDR>:2377
クラスタ状態確認
45
manager $ docker node ls
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
hhzcdnj2r43ywjcmjcwbgvwa7 * node-01 Ready Active Leader
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
hhzcdnj2r43ywjcmjcwbgvwa7 * node-01 Ready Active Leader
znmguxtqwywhja9chkkaa6a7y node-02 Ready Active
2mgqqmgt0dlv9zc932nz9rkat node-03 Ready Active
Compose file でサービス作成・操作
46
manager $ vi docker-compose.yml
version: '3'
services:
web:
image: zembutsu/docker-sample-nginx
deploy:
replicas: 3
resources:
limits:
cpus: "0.1"
restart_policy:
condition: on-failure
ports:
- "80:80"
networks:
internal:
aliases:
- web
volumes:
- /etc/localtime:/etc/localtime:ro
networks:
internal:
$ docker stack deploy -c ./docker-compose.yml
demo
Creating network demo_internal
Creating service demo_web
$ docker stack ls
$ docker stack ps demo
$ docker service scale demo_web=5
$ docker service stop demo
$ docker stack rm demo
オーケストレーションと
Swarm mode
Orchestration
47
Cloud Native 参照アーキテクチャ
Networking
Provisioning
Runtime
Orchestration & Management
Application Definition / Development
Compute
Storage
マイクロサービス・パターン
分散オーケストレーションと管理
コンテナ化
インフラ
※ CNCFプロジェクトが定義する範囲外
【参考】 https://github.com/cncf/presentations/blob/master/2016-software-circus/what-is-cloud-native/what-is-cloud-native.pdf 48
49
( ( )
Scheduling Cluster Management
Marathon,• chronos
Docker swarm•
Deis•
fleet•
• Apache Mesos
• DCOS (Mesosphere)
Orchestration
複数のホスト・システム上を横
断するアプリケーションをス
ケール(拡大・縮小)できる機能
※コンテナに依存しない
Kubernetes•
Docker Engine•
(swarm mode)
+ Docker Compose
Rancher•
Nomad•
設定ファイルをベースに
サービスを定義・維持
計算資源の抽象化
従来のオーケストレーション
50【参考】 https://www.slideshare.net/Docker/container-orchestration-from-theory-to-practice/7
クラスタ
一方通行
宣言型サービス・モデルのオーケストレーション
51
Declarative service model
【参考】 https://www.slideshare.net/Docker/container-orchestration-from-theory-to-practice/7
OD クラスタ
Δ S
D = 期待状態
O = オーケストレータ
S = 状態
Δ = 状態から期待状態への収束
フィードバック
 レプリカ作成
 グローバル・サービス
並列
遅延
変更可能
52
κυβερνήτης
a captain, a steersman,
a pilot, a navigator
https://en.wiktionary.org/wiki/%CE%BA%CF%85%CE%B2%CE%B5%CF%81%CE%BD%CE%AE%CF%84%CE%B7%CF%82
/ky.ber.nɛ̌ː.tɛːs/ → /ky.βerˈni.tis/ → /ci.verˈni.tis/
53
standalone swarm
Docker Swarm vs Docker Swarm mode
54
SwarmKit
Docker
Engine
Docker
Engine
Swarm
マネージャ
Swarm
エージェント
Swarm
エージェント
KVS リソース・プール
管
理
Docker
Host
Docker
Host
Swarm(クラスタ)
Docker
Engine
Docker
Engine
Docker
Engine
swarm モード
Docker
Host
Docker
Host
Docker
Host
Docker 1.12からクラスタ管理機能を内蔵管理用マネージャ・エージェントや KVS が別途必要
Swarm mode の構成要素
55
manager
node
worker
node
worker
node
swarm モード
docker service や
docker stack 等
クラスタとサービスの
管理コマンドを受け付け
タスク
(コンテナ)
タスク
(コンテナ)
サービス
docker service や docker stack 系コマンドの実行は、 kubectl と互換性を持つ
※ Docker for Mac で Experimental かつ Kubernetes 有効化の場合
Docker Engine Docker Engine Docker Engine
swarm
SwarmKit SwarmKit SwarmKit
docker CLI
- ネットワーク
Ingress Network
Routing Mesh
Docker
Compose
YAML
サービス定義
(option)
docker コマンドを使い、
分散環境でも簡単に
アプリをスケールできる
サービスとタスクの概念
56
「コンテナ」の起動ではない
swarm manager
3 つの nginx
レプリカ
サービス
worker node
【参考】 https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/#services-tasks-and-containers
nginx.2
タスク
worker node
nginx.1
タスク
worker node
nginx.3
タスク
nginx.latest
コンテナ
nginx.latest
コンテナ
nginx.latest
コンテナ
 期待状態に一致するよう
タスク数を常に自動調整
docker service create
1.API命令を受け付けサービス・オブジェクト作成
2.サービスに一致するようタスクの調整
3.タスクに IP アドレス割り当て
4.タスクをノードに割り当て
5.タスクの実行を命令
swarm mode のネットワーク機能
57
Multi Host Networking
Worker
node
Worker
node
Worker
node
サービス・ディスカバリ
(動的な名前解決)
overlay
network
Ingress
network
コンテナ
PublishPort
Routing
Mesh
80 443 80 443 80 443
負荷分散
クラスタ初期化と
サービス実行
58
Dockerのセットアップ
59
$ curl https://get.docker.com | head
$ curl -fsSL get.docker.com -o get-docker.sh
# sh ./get.docker.com
# systemctl enable docker
# systemctl start docker
※systemd系の場合
※リポジトリの自動セットアップ
※コマンドの確認
Linuxで検証用途に手軽な方法
クラスタ初期化と join 手順
60
manager $ docker swarm init
Swarm initialized: current node (hhzcdnj2r43ywjcmjcwbgvwa7) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0w2m8k41xh1tbapub….. <IP_ADDR>:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
worker
$ docker swarm join ¥
--token SWMTKN-1-0w2m8k41xh1tbapub….. <IP_ADDR>:2377
managerのIPアドレスとポート
This node joined a swarm as a worker.
クラスタ join 時のトークン確認
61
manager $ docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0w2m8k41xh1tbapubwl7sd7j7x….. <IP_ADDR>:2377
manager $ docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0w2m8k41xh1tbapubwl7sd0m0….. <IP_ADDR>:2377
クラスタ状態確認
62
manager $ docker node ls
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
hhzcdnj2r43ywjcmjcwbgvwa7 * node-01 Ready Active Leader
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
hhzcdnj2r43ywjcmjcwbgvwa7 * node-01 Ready Active Leader
znmguxtqwywhja9chkkaa6a7y node-02 Ready Active
2mgqqmgt0dlv9zc932nz9rkat node-03 Ready Active
まとめと振り返り
recap
63
Dockerとは?
64
Why Docker?
1
Dockerコンテナは
実行に必要な全て
をパッケージして、
簡単に動かせる
2
Dockerイメージは
複数のイメージ・レイ
ヤとメタ情報の積み
重なり
3
コンテナのプロセス
はデフォルトで
isolate(隔離・分離)
された状態
イメージ・レイヤ (image layer)は
読み込み専用
親子関係 がある
イメージに 対する変更はCopy on
Write(CoW)処理が走る
コンテナ 実行にはイメージが必要
で、Docker Hubから得られる
コンテナ 実行時のみ、読み書きが
可能なレイヤを追加
namespace (名前空間)でプロセ
ス空間やファイルシステムやネッ
トワーク等を分ける技術と、
cgroups(コントロール・グループ)
でリソースの利用上限を指定
コンテナはポートをデフォルトで 開
かない
ネットワークはブリッジ 、ホスト、
noneの3種類
ボリュームはコンテナ 間でファイル
システムを共有できる。名前付き
(named)とホスト・ボリューム
 アプリケーションを簡単に開発し、
移動し、実行するためのプログラム
とプラットフォームを提供するのが
Docker
 クライアント・サーバ型
https://docker.com
プロセスを簡単にコンテナ化(isolate)し、
簡単かつ素早く開発・移動・実行できるプラットフォームが Docker
Containerization
「プロセス・ファイルシステム・ネットワーク・等々」に対して
Namespace・Cgroup
Build Ship Run
Docker Composeとは?
65
Why Docker Compose?
1
Composeは
アプリケーションの
サービスをファイル
で定義する
2
Dockerコマンドと
高い親和性がある
ので学習コストが
低い
3
Swarm モードに
サービスをデプロイ
できるオーケストレー
ション機能
 docker-compose CLI のコマン
体系は docker に準拠
 例:「docker run -d」は
「docker-compose up -d」
 Docker swarm モードを使えば、
サービス状態を定義できるので
常に期待状態を維持できる
 docker stack deploy
 Ingress ネットワークの活用
Compose ファイル (YAML形式)
で Docker コンテナのサービスを
定義できるため、
再利用性が高い
コンテナの 状態
イメージ
ネットワーク
ボリューム
メタ 情報
https://github.com/docker/compose
複数のコンテナで構成するアプリケーションを
定義と実行するためのツール
multi-container applications
define and run
Q&A
• 何か気になるところはありますか?
• https://slideshare.net/zembutsu
• Dockerドキュメント日本語訳
http://docs.docker.jp
• 公式ドキュメント
https://docs.docker.com
66

More Related Content

What's hot

What's hot (20)

Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
 
Dockerクイックツアー
DockerクイックツアーDockerクイックツアー
Dockerクイックツアー
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみようDockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
 
Docker 基本のおさらい
Docker 基本のおさらいDocker 基本のおさらい
Docker 基本のおさらい
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
 

Similar to [1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)

Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
 

Similar to [1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1) (20)

Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
 
Docker入門 OSC 2018 Tokyo/Spring
Docker入門 OSC 2018 Tokyo/SpringDocker入門 OSC 2018 Tokyo/Spring
Docker入門 OSC 2018 Tokyo/Spring
 
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
 
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみた
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 

More from Masahito Zembutsu

More from Masahito Zembutsu (19)

忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA
 
さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19
 
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話
 
3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」
 
ようこそオンラインの展示会場へ
ようこそオンラインの展示会場へようこそオンラインの展示会場へ
ようこそオンラインの展示会場へ
 
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
 
オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編
 
Jitsi Meetとは?
Jitsi Meetとは?Jitsi Meetとは?
Jitsi Meetとは?
 
クリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようクリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしよう
 
2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
CNCFアップデート情報~2018年のCNCFを振り返る
CNCFアップデート情報~2018年のCNCFを振り返るCNCFアップデート情報~2018年のCNCFを振り返る
CNCFアップデート情報~2018年のCNCFを振り返る
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 
DockerConの歩き方~海外カンファレンスに参加するには~
DockerConの歩き方~海外カンファレンスに参加するには~DockerConの歩き方~海外カンファレンスに参加するには~
DockerConの歩き方~海外カンファレンスに参加するには~
 
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
 
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
 
プログラミング教育の基礎知識
プログラミング教育の基礎知識プログラミング教育の基礎知識
プログラミング教育の基礎知識
 

Recently uploaded

Recently uploaded (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)