10
docker system prune -af
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling imagesAre you sure you want to continue? [y/N] y
※ Docker 1.13(17.03以降)
14
“Docker allows you to package an application
with all of its dependencies into a standardized
unit for software development.”
www.docker.com
14
全ての依存関係をパッケージ化して、コンテナとして動かす
29
Introducing Moby Project: a new open-source project to advance the software containerization movement - Docker Blog
https://blog.docker.com/2017/04/introducing-the-moby-project/
A new upstream project to break up Docker into independent components by shykes · Pull Request #32691 · moby/moby
https://github.com/moby/moby/pull/32691
Docker と周辺ツールやプロジェクトとの関係性まとめ
references
2013
Docker
LXC
+
2014
libcontainer
ver0.9
デーモン
Linux向けコンテナ用
ライブラリ(当時開発中)
独自にライブラリを実装
2015
Docker Engine
デーモンの呼称を変更
補助ツール群の登場
Docker Swarm
Docker Compose
Docker Machine
2016 2017
runC
v1.11
OCI基準のランタイムの1つ
“docker”バイナリから
dockerd デーモンに代わり
Linux capabilityの管理
Engine (dockerd)
containerD
OCI準拠のランタイムを
動かすスーパーバイザ
v1.11
Docker独自規格
業界規格・共通技術
CNCF (Cloud Native
Computing Foundation)
の規格の1つに採用
v1.12
infrakit
v1.12
SwarmKit
platform agnostic
インフラの差違を埋めるためのツール
カーネルとユーザスペースを提供
イミュータブルなインフラのため
派生
swarm
モード
派生
hyperkit
vpnkit
datakit
コンテナシステムの組立に
特化したフレームワークを
開発するプロジェクト
https://github.com/mobyhttps://github.com/docker
30
“Compose is a tool for defining and running
multi-container Docker applications.”
複数コンテナのDockerアプリケーションを
定義し、実行するツールがCompose
31
“Compose is a tool for defining and running
multi-container Docker applications.”
複数コンテナのDockerアプリケーションを
定義し、実行するツールがCompose
docker-compose.yml
YAMLファイル
docker-compose
CLI
“Docker allows you to package an application
with all of its dependencies into a standardized
unit for software development.”
www.docker.com
36
全ての依存関係をパッケージ化して、コンテナとして動かす
49
“Compose is a tool for defining and running
multi-container Docker applications.”
複数コンテナのDockerアプリケーションを
定義し、実行するツールがCompose
docker-compose.yml
YAMLファイル
docker-compose
CLI
70
$ docker stack deploy -c docker-compose.yml web
Creating service web_web
$ docker stack ps web
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE
ERROR PORTS
uhm1xxq1u70w web_web.1 zembutsu/docker-sample-nginx:latest frontend-01 Running Running 45
seconds ago
ccmokdadpjqx web_web.2 zembutsu/docker-sample-nginx:latest frontend-02 Running Running 28
seconds ago
cflckriidpt0 web_web.3 zembutsu/docker-sample-nginx:latest frontend-03 Running Running 33
seconds ago
$ docker stack services web
ID NAME MODE REPLICAS IMAGE PORTS
yunncblhngu6 web_web replicated 3/3 zembutsu/docker-sample-nginx:latest *:80->80/tcp
= docker service ps web
= docker service ls