SlideShare a Scribd company logo
1 of 125
Download to read offline
1
Introduction to Docker
By @uzyexe Jan 27, 2015
Shuji Yamada

@uzyexe
2
whoami
2
3
Paradigm Shift
https://www.flickr.com/photos/shawnclover/6287072270/
4
ユーザークライアントのパラダイムシフト
1995 2015
Mobile

or

Tablet devices
Thick and fat

client
5
ユーザークライアントのパラダイムシフト
1995 2015
Mobile

or

Tablet devices
Thick and fat

client
6
インフラ環境のパラダイムシフト
1995 2015
Monothilic many Resources
インフラ環境のパラダイムシフト
1995 2015
Monothilic many Resources
7
Defined-stack:
- OS
- Middle-ware
- Runtime
- etc...
8
サービススタックのパラダイムシフト
1995 2015
best services

and

best app
From 1995 to 2015
9
Thick Thin
Defined-Stack
best services

and

best app
Monothilic many Resources
1995 2015
IaaS
Infrastructure as a Services
10
Host
PaaS
Platform as a Services
Build
&
IaaSがもたらしたパラダイムシフト
• あらゆる意味でハードだったインフラに対して柔軟性をもたらした
• セルフサービス: 自分自身で自由にインフラ構成を作れる
• オンデマンド課金: 使った分だけ課金
• APIセントリック: APIを活用することでCI/CDや運用自働化や
infrastructure as a codeを実現。
• プラガブル: 各種ストレージやネットワーク、データベースやネー
ムサーバなどを好きなように統合連携できる。
11
PaaSがもたらしたパラダイムシフト
• サービス開発にアジャイリティ(迅速性)をもたらした。
• オンデマンド課金: 使った分だけ課金
• インフラの抽象化: アプリケーション開発に専念できる。
• APIセントリック: APIを活用することでCI/CDや運用自働化を
実現。一方で、NoOps(運用技術者不要論)の登場。
• プラガブル: 各種サードパーティサービスを好きなように統合連
携できる。
12
13
Container
https://www.flickr.com/photos/dahlstroms/3144199355/
最新のコンテナ技術がもたらすパラダイムシフト
• より迅速にアプリケーションをスケールアウトできるようになる。
• アプリケーションをコンテナにパッケージングすることで、世界中
のほとんどのコンピューティングリソース上で再現可能かつ再利用
可能なイメージを迅速にプロビジョニングできるようになる。
• 1-Role/1-VM => 1-Role/1-Contaienr、環境構築に必要なリソー
スが省力化され、従来の仮想マシンよりも高効率な収容構成が可能
になる。
14
15
Timetoprovision
物理サーバ 仮想マシン(VM) コンテナ
4 72時間
5 15分
5 30秒
インスタンスの立ち上げまでにかかる平均的な時間
15
hello world
$	 time	 docker	 run	 debian	 echo	 "hello	 world"

Unable	 to	 find	 image	 'debian:latest'	 locally

debian:latest:	 The	 image	 you	 are	 pulling	 has	 been	 verified

1aeada447715:	 Pull	 complete

479215127fa7:	 Pull	 complete

511136ea3c5a:	 Already	 exists

Status:	 Downloaded	 newer	 image	 for	 debian:latest

hello	 world

real	 	 	 0m15.250s

user	 	 	 0m0.050s

sys	 	 	 	 0m0.027s
16
# Not have an local image
hello world
$	 time	 docker	 run	 debian	 echo	 "hello	 world"

hello	 world

real	 	 	 0m0.169s

user	 	 	 0m0.009s

sys	 	 	 	 0m0.010s
17
# Have a local image :)
Image size is light weight
18
REPOSITORY	 	 	 	 	 	 TAG	 	 	 	 IMAGE	 ID	 	 	 	 	 	 	 	 	 	 	 	 CREATED	 	 	 	 	 	 	 	 	 	 	 VIRTUAL	 SIZE

postgres	 	 	 	 	 latest	 	 	 	 2389997c2ef2	 	 	 	 	 	 	 	 3	 days	 ago	 	 	 	 	 	 	 	 213.3	 MB

nginx	 	 	 	 	 	 	 	 latest	 	 	 	 90081fa15a0c	 	 	 	 	 	 	 	 3	 days	 ago	 	 	 	 	 	 	 	 91.62	 MB

mysql	 	 	 	 	 	 	 	 latest	 	 	 	 335228ceb173	 	 	 	 	 	 	 	 3	 days	 ago	 	 	 	 	 	 	 	 282.6	 MB

debian	 	 	 	 	 	 	 latest	 	 	 	 4d6ce913b130	 	 	 	 	 	 	 	 8	 days	 ago	 	 	 	 	 	 	 	 84.98	 MB

centos	 	 	 	 	 	 	 latest	 	 	 	 8efe422e6104	 	 	 	 	 	 	 	 2	 weeks	 ago	 	 	 	 	 	 	 210	 MB

fedora	 	 	 	 	 	 	 latest	 	 	 	 834629358fe2	 	 	 	 	 	 	 	 3	 weeks	 ago	 	 	 	 	 	 	 241.3	 MB

busybox	 	 	 	 	 	 latest	 	 	 	 4986bf8c1536	 	 	 	 	 	 	 	 3	 weeks	 ago	 	 	 	 	 	 	 2.433	 MB

ubuntu	 	 	 	 	 	 	 latest	 	 	 	 ed5a78b7b42b	 	 	 	 	 	 	 	 4	 weeks	 ago	 	 	 	 	 	 	 188.3	 MB
19
未回答
不明
10,000 ~
5,000 - 9,999
2,000 - 4,999
500 - 1,999 100 - 499
~ 100 < 100
100-499
500-1999
2000-4999
5000-9999
10000 >
不明
未回答 2.0%
8.0%
8.5%
4.9%
8.4%
16.9%
23.0%
28.3%
企業におけるサーバ台数
http://www.slideshare.net/realgenekim/2014-state-of-devops-findings-velocity-conference
20
スケーラビリティ
21
スケーラビリティ 高効率
22
スケーラビリティ 高効率
汎用性
On
23
Cloud?
24
Cloud?
Bare-metal?
25
Cloud?
Laptop?
Bare-metal?
26
27
CloudLaptop Bare-metal
28
On
CloudLaptop Bare-metal
29
CloudLaptop Bare-metal
On
30
Game Change
https://www.flickr.com/photos/mattmflickr/7461949414/
ワークフローにどのような変化が起こるか?
• アプリケーションやミドルウェアを簡単にイメージ化できる。
(ChefやPuppetなどの高機能で複雑なデプロイツールのコード簡
略化を併せて実現できる。)
• デザイナーでもローカルPC上で開発環境を再現したコンテナを起動
して、コンテナ上でデザインをコーディングできる。
31
コンテナが世の中のDevにもたらす変化
• より手軽で、より壊しやすく、より柔軟な環境を手にいれることが
できるようになる。
• 自身でコンテナを構築し、自身のローカル環境上でアプリケーショ
ンを手軽に実行することができるようになった。
• コンテナが実行される『場所』のインフラ特性を気にしなくても
良くなった。
• 引き換えに、コンテナの構築方法や操作手法を習得する必要がある。
32
コンテナが世の中のOpsにもたらす変化
• よりセットアップしやすく、よりメンテナンスしやすい環境を手に
いれることができるようになる。
• 膨大で煩雑なセットアップスクリプトを書いて『イメージ』を作成
しなくても良くなった。
• Devが作ったコンテナイメージをサーバ上に直接展開できるよう
になり、アプリケーションのセットアップコストが削減された。
• 引き換えに、大量のコンテナの管理操作手法を習得する必要がある。
33
DevとOpsに共通して課される役割
• VMよりも処理性能的なオーバーヘッドが少なく、ランニングコスト
を削減できるコンテナ技術を活用してシステムを構築するスキルが
求められる。
• VMよりも迅速にアプリケーションを展開できるコンテナを活用して、
従来よりも高速にサービスを構築するスキルが求められる。
• コンテナ技術を活用して、従来のワークフローを改善するスキルが
求められる。
34
35
Learning Step
https://www.flickr.com/photos/nomadic_lass/6820209341/
学習ステップ
1. Dockerで遊んでみる。
2. 本格的に利用する場合の課題を考えてみる。
3. 本格的に使ってみる。
36
stage1. Dockerで遊んでみる
• 自身の環境でDockerを動かしてみる。
• 自身の環境でDockerコンテナのイメージを作ってみる。
• ネームスペースやcgroupsなどのLinux由来の特徴を理解する。
37
stage2. 本格的に利用するときの課題
• データの永続化
• イメージの正当性確認
• イメージ転送の暗号化
• 監視、ロギング
• 複数台のコンテナ管理
• アップデート
38
stage3. 本格的に使ってみる
• コンテナ複数台のスタティックなオーケストレーション
• CircleCIやDrone.ioとのCI/CD連携
• aufs, btrfs, devicemapper
• Capabilities
• セキュリティ
• Networking (iptabels, bridge, pipework, ...)
• レポジトリ
39
Future stage
• DockerUI, Panamax, Rancher.io
• CoreOS (etcd+fleet+flannel), Atomic Host
• DockerSwarm
• Mesos+docker, Consul+docker, kubernetes, Helios, ...
• Deis, Flynn, ...
• Rocket, ...
40
41
https://www.flickr.com/photos/yukop/11941236015/
コンテナ技術の代表的な特徴
• どこでも同じ動作をする。
• versionに依存しない。
• OSディストリビューションに依存しない。
• 特定のモジュールに依存しない。
• VM(仮想マシン)よりもオーバヘッドが少ない。
42
Dockerコンテナの特徴
• コンテナ = ホストから分離されているプロセス(ネームスペース)
• 各コンテナはホストOSのkernelを共有する。
• コンテナから見えるデバイスはエミュレーション動作ではない。
• 実際にほとんどの環境上でコンテナを動かせる。

Linux, Windows, OSX...

Cloud, Server, Windows PC, Macbook, RaspberryPi...
43
44
Docker Engine
HyperVisor
Guest

OS
Server
Guest

OS
Guest

OS
App-1
App-2
App-1
App-1’
App-3
App-4
App-1
App-2
App-1
App-1’
App-2
App-3
Docker
Type-1
HyperVisor
OS
HyperVisor
Server
App-1
App-2
App-1
App-1’
App-3
App-4
Type-2
HyperVisor
Bins/Libs Bins/LibsBins/Libs Bins/Libs
Bins/Libs Bins/Libs
Bins/Libs Bins/Libs
Guest

OS
Guest

OS
Guest

OS
OS
Server
コンテナに何を入れればいいの?
• コード
• ライブラリ
• バイナリ
• アプリケーション
• データ
• その他、なんでも
45
コンテナを何に使えばいいの?
• webアプリケーション
• APIバックエンド
• データベース(SQL, NoSQL)
• メッセージキュー
• アプリケーションのビルド環境
• その他、なんでも
46
47
On
CloudLaptop Bare-metal
Dockerを動かすために必要な環境
• Linux or Mac OSX or Windows # 64bit only
• Linuxの場合はkernel 3.8 以上 ( or RHEL kernel 2.6.32以上)
48
Dockerのインストール
49
$	 sudo	 apt-get	 update

$	 sudo	 apt-get	 install	 docker.io
$	 sudo	 yum	 install	 docker
#	 Firstly,	 you	 need	 to	 ensure	 you	 have	 the	 EPEL	 repository	 enabled.

$	 sudo	 yum	 install	 docker-io
• Ubuntu 14.04
• RHEL7/CentOS7
• RHEL6/CentOS6
or Boot2Docker for Windows
50
or Boot2Docker for Mac OS X
51
Docker Platform
• Linux環境上で動作するアプリケーションのコンテナ化
• コンテナの実行とコンテナの各種リソース制御
• コピー·オン·ライトなファイルシステムを活用したプロビジョニング
• 簡単にコンテナイメージを構築するための手法の提供 (Dockerfile)
• コンテナイメージを世界中に共有できる環境の提供 (DockerHub)
52
Dockerfile
• Dockerfileはコンテナイメージを構築す
るためのレシピ。
• FROMでベースイメージを宣言する。
• RUNでアプリケーションセットアッ
プ用のコマンドを宣言する。
• CMDで実行コマンドを宣言する。
• EXPOSEで開放ポートを宣言する。
53
# vim Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, hello my container’ /

> /usr/share/nginx/html/index.html
CMD nginx -g “daemon off”
EXPOSE 80
典型的なDockerfileのサンプル
Dockerfile
• Dockerfileはコンテナイメージを構築す
るためのレシピ。
• FROMでベースイメージを宣言する。
• RUNでアプリケーションセットアッ
プ用のコマンドを宣言する。
• CMDで実行コマンドを宣言する。
• EXPOSEで開放ポートを宣言する。
54
# vim Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, hello my container’ /

> /usr/share/nginx/html/index.html
CMD nginx -g “daemon off”
EXPOSE 80
典型的なDockerfileのサンプル
Dockerfile
• Dockerfileはコンテナイメージを構築す
るためのレシピ。
• FROMでベースイメージを宣言する。
• RUNでアプリケーションセットアッ
プ用のコマンドを宣言する。
• CMDで実行コマンドを宣言する。
• EXPOSEで開放ポートを宣言する。
55
# vim Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, hello my container’ /

> /usr/share/nginx/html/index.html
CMD nginx -g “daemon off”
EXPOSE 80
典型的なDockerfileのサンプル
Dockerfile
• Dockerfileはコンテナイメージを構築す
るためのレシピ。
• FROMでベースイメージを宣言する。
• RUNでアプリケーションセットアッ
プ用のコマンドを宣言する。
• CMDで実行コマンドを宣言する。
• EXPOSEで開放ポートを宣言する。
56
# vim Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, hello my container’ /

> /usr/share/nginx/html/index.html
CMD nginx -g “daemon off”
EXPOSE 80
典型的なDockerfileのサンプル
Dockerfile
• Dockerfileはコンテナイメージを構築す
るためのレシピ。
• FROMでベースイメージを宣言する。
• RUNでアプリケーションセットアッ
プ用のコマンドを宣言する。
• CMDで実行コマンドを宣言する。
• EXPOSEで開放ポートを宣言する。
57
# vim Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, hello my container’ /

> /usr/share/nginx/html/index.html
CMD nginx -g “daemon off”
EXPOSE 80
典型的なDockerfileのサンプル
EXPOSE
• EXPOSEは明示的に宣言しなくても構わない。
• runするときに、-p 80:80という感じでポートを明示して指定し
てあげるだけでもポートは割り当てられる。
• -PオプションはEXPOSEしているポートをすべて割り当てる。
• --link は連携対象のコンテナを指定するとEXPOSE宣言している
ポートに接続するための環境変数を付加してコンテナを起動する
オプション。
58
Build caching
• build実行時にはDockerfileの行単位でビルドキャッシュが生成される。
• 次回build実行時はキャッシュが利用され、変更差分のみビルドされる。
• キャッシュが存在しない行以降はキャッシュが利用されない。
• ADD行は前回ビルド以降に対象ファイルの変更があった場合において
はキャッシュが利用されない。その場合、以降の行も引き続きキャッ
シュが利用されないのでADD行の埋め込み位置には注意が必要。
• apt-get updateなどのキャッシュも残る。--no-cacheを指定しないと
次回のビルド実行時に最新の状態にアップデートされない。
59
Docker Hub
60
Docker Hub
61
Automated Build
62
Automated Build
63
Docker Registry s
• DockerHub以外にもDockerイメージを保管するためのレジストリ
サービスが存在する。
• DockerHub (official)
• Quay.io
• Google Container Registry
• $(docker pull registry)
64
65
Dockerfile Docker Image
build Push Provisioning
Case1
• Very simple
• At first, it docker build very slowly,

but after some caching, it build much faster
Docker Hub
66
Docker Image
Dockerfile Docker Hub
Push
Automated

Build
Push
Push
GitHub

or

Bitbucket
Provisioning
Case2
• Outsource your docker build
• GitHub or Bitbucket-like
• Automated build is very slow...
67
Docker Base Image
Dockerfile Docker Hub
Push
Automated

Build
Push
Hook
GitHub
Dockerfile
Docker Image
Build
FROM

<Base Image>
Case3
Containerized
Commit Push
Docker Hub
Provisioning
Docker Image
Patch
• Incremental update pattern
• Minimize the build process
• It fast
Container

in Machine
Rebuild-pattern VS Upgrade-pattern
• Rebuild (Immutable-like)
• 更新の都度、Dockerfileをbuildして最新版のイメージを作成。
• 冪等性を担保しやすい。
• 変更内容の影響を受けるスコープが大きい。
• 工夫しないとbuild完了までに時間がかかる。
• 設定が複雑なコンテナや頻繁な更新が必要なコンテナには不向き。
68
Rebuild-pattern VS Upgrade-pattern
• Upgrade (Patch-like)
• 開発用コンテナにログイン作業するなどして最新の状態に更新。
• 最新の状態に更新されたコンテナを都度commitしてイメージ化。
• 最新イメージはイメージレポジトリにpushしてバージョン管理。
• build待ちの時間を最小限に抑制できる。
• 充分なテストを準備していたとしても、冪等性は担保しにくい。
69
Dockerコミュニティの規模
• 10,000,000+ download
• 75,000+ repogitories on DockerHub
• 150+ Meetup Groups in 50 countries
• 740+ contributors
• 50,000+ third-party projects on GitHub
• 100+ user-generated case studies available from companies
70
https://www.docker.com/company/aboutus/
ChangeLog
• v0.1.0 (2013-03-23), initial public release
• v0.2.0 (2013-04-23), automatic bridge setup
• v0.3.0 (2013-05-06), volume
• v0.4.0 (2013-06-03), API, docker build
• v0.5.0 (2013-07-17), host volume, UDP ports
• v0.6.0 (2013-08-22), privileged mode
71
ChangeLog
72
• v0.7.0 (2013-11-25), links, storage drivers(aufs, DM, vfs)
• v0.8.0 (2014-02-04), BTRFS, OSX CLI, ONBUILD, ADD cache
• v0.9.0 (2014-03-10), libcontainer, Execution Drivers
• v0.10.0 (2014-04-08), TLS API Supports
• v0.11.0 (2014-05-07), SELinux, DNS links, --net=host
• v0.12.0 (2014-06-05), pause/unpause
ChangeLog
73
• v1.0.0 (2014-06-09), Production support
• v1.1.0 (2014-07-03), .dockerignore, commit, logs --tail
• v1.2.0 (2014-08-20), auto-restart policies, capability
• v1.3.0 (2014-10-14), docker exec, docker create
• v1.4.0 (2014-12-11), overlayfs
• v1.5.0-rc1 (2015-1-22), IPv6, docker rename
v1.0.0 v1.5.0-rc1
• .dockerignore, 特定のファイルやディレクトリを無視
• docker logs, コンテナのログを表示
• --restart=alway/no/on-failure, コンテナの自動再起動ポリシー
• --cap-add/cap-drop, Linux Kernel Capability
• --device=, 利用するデバイス名指定
74
v1.0.0 v1.5.0-rc1
• docker exec, 起動中コンテナへのログイン機能
• docker create, コンテナ作成コマンド(起動はしない。)
• Signature (official image only)
• --security-opts (SELinux/AppArmor)
• overlayfs support
• IPv6 support
75
76
Architecture
https://www.flickr.com/photos/laughingsquid/5283377604/
Dockerデーモンの役割
• コンテナとイメージの管理、ビルド
• embedded CLI talking to the API
• HTTP API (over UNIX or TCP socket)
77
docker.sock
• -d付きで起動したdockerはTCPソケット、またはUNIXドメインソ
ケットで起動され、コンテナを起動するためのデーモンになる。
• socketへの書き込みにはroot権限、もしくはdockerグループの権限
を必要とする。
• TCPソケットの場合でもUnixドメインソケットの場合でもHTTP
APIとして動作する。
• ほぼRESTfulな実装なので、curlとかでjsonを引き渡せば動く。
78
Dockerの実行ドライバー
• Dockerの実行ドライバーはオプションで指定可能。
• lxc (=legacy)
• native (=libcontainer) (default)
• あえてlxcを選ぶ理由がない限りは、libcontainerのほうが挙動も安
定していて安全。
79
libcontainer
• コンテナを実行するためのGo製のドライバーパッケージ。
• namespaces, cgroups, capabilitiesなどのLinuxネイティブコンテ
ナのための機能を実装したビルトイン可能なライブラリ。
• LXCユーザーランドは未使用。
• 現在のDockerはLXCが必須ではなくなっている。
80
docker server (docker daemon)
docker API server
network driver
81
Container
libcontainer
docker.sock
exec driver

(native or lxc)
(docker build...)
(docker run...)
(docker pull...)
API CLI
Docker Daemon
Docker Container
Engine
rootfs (aufs, btrfs, devicemapper...)
graph driver
Driver
other drivers...
Dockerfile
Registry

(DockerHub, etc...)
DockerEngine Client
コンテナはとても軽量
• だってプロセスみたいなものなんだもん。
• プロセスっていうことは?
• ノートPC上でも10∼100台くらいのコンテナを動かせる。
• サーバ上なら1000台以上のコンテナを動かせる。
82
本当にオーバーヘッドないの?
• Yes。コンテナはnativeな速度で動く。
• コンテナ上で動くプロセスはホスト上でダイレクトに動いてる。
• CPUの処理性能はnativeな速度。
• メモリの処理性能はnativeな速度。
• ネットワークのI/O性能はブリッジなどを経由すると遅くなる。
83
対応ファイルシステム
• Dockerコンテナは各種ファイルシステムに対応している。
• AuFS
• Btrfs
• DeviceMapper (Direct LVM, Loop LVM)
• VFS
• overlayfs
84
主要なストレージドライバ
• 主要なOSとデフォルトのストレージドライバの対応関係
• Ubuntu/Debian: aufs
• RHEL/CentOS: devicemapper (loop-lvm)
• CoreOS: overlayfs
85
--netオプション
• --net=bridge, Linux Bridge(docker 0)経由の通信。ホスト側で自動
的にNAPTされ、グローバルと通信できる。(default)
• --net=container, 他のコンテナとNICを共有する。IPアドレスと
MACアドレスも同一のアドレスを共有する。
• --net=none, NICを利用しない。
• --net=host, ホストのすべてのネットワークをnativeに利用する。
86
Host Serverveth veth veth
ネットワーク
87
--net=bridge
Container Container
--net=container
Container
--net=none
Container
eth0
(veth)
--net=host
Container
Bridge (docker0)
eth0
Container
eth0
(veth)
eth1
(veth)
Network Port Mapping
• コンテナにはランダムなポートがマッピングされる。(default)

(下図において、コンテナのPort 5000はホストのPort 49154に
マッピングされている。)
88
49154
Bridge
5000
eth0
Host Container
$	 docker	 run	 -d	 --name=myapp	 -P	 training/webapp	 python	 app.py

$	 docker	 port	 myapp

5000/tcp	 ->	 0.0.0.0:49154
Network Port Mapping
• ただし、DockerfileでEXPOSEを宣言していないコンテナの場合は、
明示的に-Pオプションを指定しても無視される。

89
Bridge
eth0
Host Container
$	 docker	 run	 -d	 --name=myapp	 -P	 busybox	 yes

$	 docker	 port	 myapp
Network Port Mapping
• -pオプションでポートマップを指定することも可能。

(下図において、コンテナのPort 5000はホストのPort 5000に
マッピングされるよう明示的に指定している。)
90
5000
Bridge
5000
eth0
Host Container
$	 docker	 run	 -d	 --name=myapp	 -p	 5000:5000	 training/webapp	 python	 app.py

$	 docker	 port	 myapp

5000/tcp	 ->	 0.0.0.0:5000
Network Port Mapping
• -pオプションでポートマップを指定することも可能。

(下図において、コンテナのPort 5000はホストのPort 15000に
マッピングされるよう明示的に指定している。)
91
15000
Bridge
5000
eth0
Host Container
$	 docker	 run	 -d	 --name=myapp	 -p	 15000:5000	 training/webapp	 python	 app.py

$	 docker	 port	 myapp

5000/tcp	 ->	 0.0.0.0:15000
Network Port Mapping
• DockerfileでEXPOSEを宣言していないコンテナの場合でも、明示
的に-pオプションを指定するとポートマッピングされる。
92
5000
Bridge
5000
eth0
Host Container
$	 docker	 run	 -d	 --name=myapp	 -p	 5000:5000	 busybox	 yes

$	 docker	 port	 myapp

5000/tcp	 ->	 0.0.0.0:5000
Network Port Mapping
• --net=hostオプションを指定するとコンテナはホストのネットワー
クを利用する。その場合、DockerfileでEXPOSEを宣言しているポー
トがホスト上でListenを開始する。
93
5000
eth0
Host
Container
$	 docker	 run	 -d	 --name=myapp	 --net=host	 training/webapp	 python	 app.py

$	 docker	 port	 myapp

Bridge
Host Server
use pipework
94
Bridge (docker0)
Container
eth0
(veth)
veth
--net=bridge

pipework br1 ...
eth1
(veth)
Bridge (br1)
Container
eth0
(veth)
--net=bridge

pipework br1 ...
eth1
(veth)
Container
eth0
(veth)
--net=bridge

pipework eth1 ...
eth1
macvlan
eth0 eth1
veth veth veth veth
ネットワークパフォーマンス
• Linux Bridge経由の通信:ごく かなオーバヘッドが発生する。
• iptables経由の通信:ごく かなオーバーヘッドが発生する。
• コンテナ間通信:大きいオーバヘッドが発生する。
• --net=host:nativeな速度で動作する。
• SR-IOV:nativeな速度で動作する。
• macvlan:nativeな速度で動作する。
95
ネームスペースの分離
• Dockerコンテナはホストとはネームスペースが分離されている
• PID: Process IDs
• Mount: mount points
• Network: network access
• UTS (Unix Time-sharing System) : hostname, domainname
• IPC: Inter-Process Communication
• User: User and Group IDs
96
PIDネームスペースの分離
97
$	 ps	 auxww	 |	 wc	 -l

102

$	 docker	 run	 -it	 ubuntu	 /bin/bash

root@cdaa11112f53:/#	 ps	 auxww	 |	 wc	 -l

4
Mountネームスペースの分離
98
$	 cat	 /proc/mounts	 	 |	 wc	 -l

31

$	 docker	 run	 -it	 ubuntu	 /bin/bash

root@43b9f12ca56b:/#	 cat	 /proc/mounts	 |	 wc	 -l

17
Networkネームスペースの分離
99
#	 ip	 addr	 show	 |	 egrep	 "UP|inet"

1:	 lo:	 <LOOPBACK,UP,LOWER_UP>	 mtu	 65536	 qdisc	 noqueue	 state	 UNKNOWN

	 	 	 	 inet	 127.0.0.1/8	 scope	 host	 lo

2:	 eth0:	 <BROADCAST,MULTICAST,UP,LOWER_UP>	 mtu	 1500	 qdisc	 fq_codel	 state	 UP	 qlen	 1000

	 	 	 	 inet	 153.120.104.254/24	 brd	 153.120.104.255	 scope	 global	 eth0

3:	 eth1:	 <BROADCAST,MULTICAST,UP,LOWER_UP>	 mtu	 1500	 qdisc	 fq_codel	 state	 UP	 qlen	 1000

	 	 	 	 inet	 192.168.0.1/24	 brd	 192.168.0.255	 scope	 global	 eth1

4:	 docker0:	 <NO-CARRIER,BROADCAST,MULTICAST,UP>	 mtu	 1500	 qdisc	 noqueue	 state	 DOWN

	 	 	 	 inet	 172.17.42.1/16	 scope	 global	 docker0

$	 docker	 run	 -it	 ubuntu	 /bin/bash

root@8fbffca705a2:/#	 ip	 addr	 show	 |	 egrep	 "UP|inet"

1:	 lo:	 <LOOPBACK,UP,LOWER_UP>	 mtu	 65536	 qdisc	 noqueue	 state	 UNKNOWN	 group	 default

	 	 	 	 inet	 127.0.0.1/8	 scope	 host	 lo

17:	 eth0:	 <BROADCAST,UP,LOWER_UP>	 mtu	 1500	 qdisc	 noqueue	 state	 UP	 group	 default

	 	 	 	 inet	 172.17.0.4/16	 scope	 global	 eth0
UTSネームスペースの分離
100
$	 hostname

test.example.com

$	 domainname

example.com

$	 docker	 run	 -it	 ubuntu	 /bin/bash

root@8fbffca705a2:/#	 hostname

8fbffca705a2

root@8fbffca705a2:/#	 domainname

example.com
IPCネームスペースの分離
101
$	 ipcs

------	 Shared	 Memory	 Segments	 --------

key	 	 	 	 	 	 	 	 shmid	 	 	 	 	 	 owner	 	 	 	 	 	 perms	 	 	 	 	 	 bytes	 	 	 	 	 	 nattch	 	 	 	 	 status

0x0052e2c1	 0	 	 	 	 	 	 	 	 	 	 postgres	 	 	 600	 	 	 	 	 	 	 	 48	 	 	 	 	 	 	 	 	 5

0x00000000	 229377	 	 	 	 	 s-yamada	 	 	 700	 	 	 	 	 	 	 	 1694000	 	 	 	 2	 	 	 	 	 	 	 	 	 	 dest

$	 docker	 run	 -it	 ubuntu	 /bin/bash

root@c739668e223a:/#	 ipcs

------	 Message	 Queues	 --------

key	 	 	 	 	 	 	 	 msqid	 	 	 	 	 	 owner	 	 	 	 	 	 perms	 	 	 	 	 	 used-bytes	 	 	 messages
Userネームスペースの分離
102
$	 docker	 run	 -it	 ubuntu	 /bin/bash

root@c739668e223a:/#	 id	 -a

uid=0(root)	 gid=0(root)	 groups=0(root)
• コンテナのUIDは実際にはホストのUID1000番台以降にマッピング
される。
cgroups
• Dockerはcgroupsに対応している。
• cpu
• cpuset
• memory
• blkio
• devices
• network
• freezer
103
cgroupsによるリソース制限
• libcontainerはcgroupsの一部機能のみ対応。
• libcontainerをcgroupsにほぼ対応させるには、systemdと連携させ
るのが現在のベストプラクティス。
• RHEL7のdockerはsystemdと連携してcgroupsを取り扱える。
• その他の手段:https://github.com/ibuildthecloud/systemd-docker
104
メディアアクセス制御機能
• Linux Kernel Capabilities
• Drop mout capabilities
• Enable what a task needs
• Grsecurity and PaX
• SELinux
• AppArmor
105
106
Kernel
Server
Containers
NameSpaces
• UTS
• IPC
• PID
• User
• Network
• ...
cgroups
• memory
• cpu
• blkio
• devices
• network
• .....
Namespace
Ubuntu base
nginx
Namespace
Debian base
Rails
Namespace
CentOS base
Apache2
MySQLpostgresql
Host
Network
• veth
• bridge
• iptables
• ...
Storage
• aufs
• btrfs
• devicemapper
• overlayfs
• ...
Security
• SElinux
• apparrmor
• capability
• Grsecurity
• PaX
...
Docker EngineDocker
OS
チュートリアル
107
https://www.docker.com/tryit/
コンテナにしておくと少しでも便利になるケース
• ちょっとしたOSの動作確認。
• 構成管理ツールを使うとセットアップが煩雑なアプリケーション。
• 桁違いな並列度が必要とされるアプリケーション。
• 手軽にパッケージインストールできない実行バイナリのビルド。
• Cronで定期的に動くスクリプト。
108
コンテナを使わないほうがいいケース
• ステートフルなwebアプリケーション。
• 堅牢なデータ永続化が必須なアプリケーション。
• シビアなI/O処理性能やパケット処理が必要なアプリケーション。
• 頻繁にクラッシュするアプリケーション。
• アプリケーションのアップデート方法を一切検討していない場合。
• 障害の発生やデータロストを前提として考慮していない場合。
109
複数台のプロビジョニング
• 自身でコンテナを定義する場合
• Docker Compose(Fig), Maestro-NG, Ansible, Chef, etc...
• APIライク
• Mesos(+ Marathon), Kubernetes, Helios
• PaaSライク
• Flynn, Deis, CloudFoundry, Dokku, Tsuru, OpenShift
• OpenStack (because OpenStack can do everything!)
110
ログのルーティング
• 数台のコンテナ相手ならjournarlctlだけでも頑張れる。
• 数十台のコンテナ相手になってくると、volumeコンテナに集約しつ
つ、rsyslogで飛ばすだけでも頑張れなくもないけどツラい。
• 手軽にスケールしそうなのは、LogSpout + fluentd + LogEntires
or elasticserch?
111
コンテナの監視に関する課題
• リソース(CPU, Mem, trafic)の可視化は必要。
• 最低限の外系監視(Ping, HTTP, HTTPS, TCP/UDP)も必要。
• コンテナ自体がプロセスみたいなものなのでプロセス監視は概ね不要。
• その他、コンテナの種類に応じて各種リソースの監視が必要。
• 各種レスポンス・遅延、各種サイズ、同時接続数。
• 比較的手軽なエージェントはsensuとdatadogくらい?
• とは言うものの、コンテナの場合は監視の必要がないアプリケーションも多
い・・・
112
ストレージの外部化
• ボリュームコンテナを作成して利用すればUID/GIDは崩れない。
• 手法を誤るとUID/GIDのマッピングが崩れる。
• 特定の要件においてのみ有効なワークアラウンド
• /var/lib/dockerを専用のストレージにmountする。
• 対象コンテナに特定のストレージを専用に割り当てる。
113
セキュリティ
• 当然、Dockerでも脆弱性を突かれて、最悪の場合はホストのroot権
限を奪取される可能性はある。
• これは、Docker単体で防ぎきれる問題とは考えないほうがいい。
• 悪意ある第三者に脆弱性を突かれたとしても、SELinuxやAppArmor
を適切に設定していれば被害は最小限に食い止められる。
• これはKVMのような仮想化技術やLinuxの各種デーモンでも同じ。
114
その他の補足とか
• buildするときやpullするときはキャッシュに注意する。
• 挙動が怪しいときは--no-cacheを指定してbuildする。
• pullしてきたイメージが古い内容だと思ったら、イメージのハッシュとタ
イムスタンプを確認する。
• Dockerデーモンが中途半端にdownしていないか注意する。
• 最悪、Dockerデーモンを再起動してみる。
• 稀に、自分のローカルPCでbuildしたときとDockerHubでAutomated build
したときとでは微妙に挙動が異なるアプリケーションもあったりする・・・
115
その他の補足とか
• 別に1コンテナあたり1アプリケーションでなくてもいい。
• コンテナに固定IPアドレスを振るのは結構手間。
• コマンドを駆使すればもっと複雑なこともできるんだろうけど手間・・・
• 中途半端に残っているコンテナやイメージは自分で消すしかない・・・
• データの永続化が必要なものはコンテナ内以外の場所に保存したほうがい
い。ブロックストレージでもS3でもRDSでもいい。
• そういうコンテナはLXCでコンテナ化しちゃうのだってありだと思う。
116
117
in
UseCase
Server
Newrelic

container
Send Status
Newrelic
118
*.tf
CI-Service

(CircleCI, travis)
Push Test
GitHub
UseCase
ssh

&&

*.tf pull
apply
DNS-Service

(Route53, DNSimple)
Terraform

container
119
UseCase
ssh-keychain server

container
Online-Storage

(Amazon S3, etc...)
POST
Client
GET, POST
Server
GET, POST
What?
120
それ普通のサーバでもできるよ
• Yes, コンテナが果たす役割はアプリケーションと何ら変わらない。
• でも、アプリケーションがDockerイメージによってパッケージ化さ
れることでセットアップが迅速かつ簡単になったり、異なるサーバ
へのアプリケーション移行作業も比較的容易になった。
• コンテナとしてパッケージをあらかじめイメージ化することで、ア
プリケーションセットアップ作業のムダと各作業者ごとの作業のム
ラを省いてる。
121
• 従来型のサーバ管理やアプリケーションからの思考転換が必要。
• コンテナ型技術のアーキテクチャ自体への理解。
• アプリケーション設計と構成管理手法の転換。
• Container != Server
• ただし、従来的なLinuxシステム管理や、細かなチューニング作業か
ら逃げきれるわけではない。
まとめ
https://www.flickr.com/photos/kzys/838011150/
122
• 動かすだけなら簡単。だけど、まだ全然枯れてない。
• 日本語ドキュメントが少ない。
• 管理ツール類やサービスが いきっていない。
• 自分で調べて自分で組み立てたりしないといけないことが多い。
• たぶん、この資料自体もすぐに古い内容になってしまう。
まとめ
https://www.flickr.com/photos/kzys/838011150/
123
• もう十分にトレンドっぽいし、今後のデファクトスタンダードにな
ることも規定路線っぽいけど、Dockerはまだまだ国内の一部のエン
ジニアにしか知られていない。(と思う。)
• 本格的なデファクトスタンダードになるには、より多くの貢献者と
エネルギーがDockerには必要。
• 未来の貢献者は誰?YOUでしょ?
まとめ
https://www.flickr.com/photos/kzys/838011150/
124
125
FAQ?
https://www.flickr.com/photos/kzys/838011150/

More Related Content

What's hot

Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!Masahito Zembutsu
 
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINARVirtualTech Japan Inc.
 
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Masahito Zembutsu
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~HommasSlide
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOceanMasahito Zembutsu
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもんMasahito Zembutsu
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンRyo Nakamaru
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までMasahito Zembutsu
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Masahito Zembutsu
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Recruit Technologies
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座Masahito Zembutsu
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Masahito Zembutsu
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Masahito Zembutsu
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Masahito Zembutsu
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ poolmookjp
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 

What's hot (20)

Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
 
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
 
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOcean
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
 
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 hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ pool
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 

Viewers also liked

データセンタにおける消費電力のお話
データセンタにおける消費電力のお話データセンタにおける消費電力のお話
データセンタにおける消費電力のお話Koji Suganuma
 
Way of Experiment & Evaluation
Way of Experiment & EvaluationWay of Experiment & Evaluation
Way of Experiment & EvaluationTatsuya Coike
 
Fluentd message forwarding with authentication and encryption
Fluentd message forwarding with authentication and encryptionFluentd message forwarding with authentication and encryption
Fluentd message forwarding with authentication and encryptionSATOSHI TAGOMORI
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらインターネット株式会社
 
Queryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみたQueryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみたYoshiyasu SAEKI
 
Device Fingerprinting: オンライン広告効果計測への応用
Device Fingerprinting: オンライン広告効果計測への応用Device Fingerprinting: オンライン広告効果計測への応用
Device Fingerprinting: オンライン広告効果計測への応用Koji Suganuma
 
Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi Google Cloud Platform - Japan
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリングAkira Miyazawa
 
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Yoshiyasu SAEKI
 
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較Yoshiyasu SAEKI
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本Tomohiro Shinden
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかRyuji Tamagawa
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Yoshiyasu SAEKI
 

Viewers also liked (17)

Voldemortの紹介
Voldemortの紹介Voldemortの紹介
Voldemortの紹介
 
データセンタにおける消費電力のお話
データセンタにおける消費電力のお話データセンタにおける消費電力のお話
データセンタにおける消費電力のお話
 
Way of Experiment & Evaluation
Way of Experiment & EvaluationWay of Experiment & Evaluation
Way of Experiment & Evaluation
 
Fluentd message forwarding with authentication and encryption
Fluentd message forwarding with authentication and encryptionFluentd message forwarding with authentication and encryption
Fluentd message forwarding with authentication and encryption
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
 
Queryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみたQueryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみた
 
Device Fingerprinting: オンライン広告効果計測への応用
Device Fingerprinting: オンライン広告効果計測への応用Device Fingerprinting: オンライン広告効果計測への応用
Device Fingerprinting: オンライン広告効果計測への応用
 
Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定
 
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
 
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
 
ゲーム産業講義2015年1月
ゲーム産業講義2015年1月ゲーム産業講義2015年1月
ゲーム産業講義2015年1月
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
 

Similar to 2015-01-27 Introduction to Docker

Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎Daisuke Hiraoka
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達softlayerjp
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門Toru Miyahara
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Naoki Nagazumi
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)Motohiro OTSUKA
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版VirtualTech Japan Inc.
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話Masaki Kobayashi
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018Yoshio Terada
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションTakashi Kanai
 
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725Masafumi Noguchi
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~Ryosuke Uchiyama
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOFVirtualTech Japan Inc.
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku altShugo Numano
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介decode2016
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」Takaaki Suzuki
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会samemoon
 

Similar to 2015-01-27 Introduction to Docker (20)

Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
 
AlibabaCloudではじめるKubernetes
AlibabaCloudではじめるKubernetesAlibabaCloudではじめるKubernetes
AlibabaCloudではじめるKubernetes
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku alt
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
 

More from Shuji Yamada

GitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub ActionsGitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub ActionsShuji Yamada
 
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側Shuji Yamada
 
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツShuji Yamada
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/MarathonShuji Yamada
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話Shuji Yamada
 
10分でわかる marathon-lb
10分でわかる marathon-lb10分でわかる marathon-lb
10分でわかる marathon-lbShuji Yamada
 
コンテナのユースケース考察
コンテナのユースケース考察コンテナのユースケース考察
コンテナのユースケース考察Shuji Yamada
 
Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」Shuji Yamada
 
Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Shuji Yamada
 
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
Velocity - Lean, Velocity and Anti-Fragile  「ボトルネックを飼い慣らせ!」Velocity - Lean, Velocity and Anti-Fragile  「ボトルネックを飼い慣らせ!」
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」Shuji Yamada
 
自動テストによって生み出される価値
自動テストによって生み出される価値自動テストによって生み出される価値
自動テストによって生み出される価値Shuji Yamada
 
お手軽OpenFlow試験環境 Mininet
お手軽OpenFlow試験環境 Mininetお手軽OpenFlow試験環境 Mininet
お手軽OpenFlow試験環境 MininetShuji Yamada
 
Sensu -The Next Generateion Monitoring Framework-
Sensu -The Next Generateion Monitoring Framework-Sensu -The Next Generateion Monitoring Framework-
Sensu -The Next Generateion Monitoring Framework-Shuji Yamada
 
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~Shuji Yamada
 

More from Shuji Yamada (16)

GitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub ActionsGitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub Actions
 
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
 
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/Marathon
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
 
10分でわかる marathon-lb
10分でわかる marathon-lb10分でわかる marathon-lb
10分でわかる marathon-lb
 
コンテナのユースケース考察
コンテナのユースケース考察コンテナのユースケース考察
コンテナのユースケース考察
 
Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」
 
Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」
 
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
Velocity - Lean, Velocity and Anti-Fragile  「ボトルネックを飼い慣らせ!」Velocity - Lean, Velocity and Anti-Fragile  「ボトルネックを飼い慣らせ!」
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
 
自動テストによって生み出される価値
自動テストによって生み出される価値自動テストによって生み出される価値
自動テストによって生み出される価値
 
お手軽OpenFlow試験環境 Mininet
お手軽OpenFlow試験環境 Mininetお手軽OpenFlow試験環境 Mininet
お手軽OpenFlow試験環境 Mininet
 
Sensu -The Next Generateion Monitoring Framework-
Sensu -The Next Generateion Monitoring Framework-Sensu -The Next Generateion Monitoring Framework-
Sensu -The Next Generateion Monitoring Framework-
 
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (9)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

2015-01-27 Introduction to Docker