やったこと
docker を使ってみます。
チュートリアルの Part3 です。
調査
サービスとは、正に「本番環境におけるコンテナ」なのです。
docker-compose.yml の作成
プロダクションにおける Docker コンテナのあるべき挙動を定義します
docker-compose.yml
version: '3'
services:
web:
image: friendlyhello
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- '80:80'
networks:
- webnet
networks:
webnet:
Doker Swarm
Docker Swarm は Docker に対応するネイティブなクラスタリング用ツールです。Docker Swarm は標準 Docker API で操作できます。
コンテナを複数立ち上げる
$ docker swarm init
$ docker stack deploy -c docker-compose.yml getstartedlab
getstartedlab
というアプリケーションの名前をつけています。
サービスの情報表示
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
xxng7z8u0l7w getstartedlab_web replicated 5/5 friendlyhello:latest *:80->80/tcp
コンテナの一覧表示
$ docker container ls -q
d529dc4961e3
8c47e3a1207e
7e8a65af869f
4d03c61b387e
1e3780cdd23a
停止
$ docker stack rm getstartedlab
swarm は起動したまま
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
l8th1njjpb5qd71epemf95ony * linuxkit-025000000001 Ready Active Leader 18.09.2
swarm も停止
$ docker swarm leave --force