AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
- 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
- 14. •
$ docker run [options] [image]
$ docker service create [options] [image]
- 15. • Docker swarm mode
$ docker swarm init
Docker swarm cluster
$ docker swarm join [options]
•
- 18. • Clustering
• Scheduling
• / Rolling Update / Rollback
• Scale Out
• Service Discovery
• DNS / Auto DNS Register
• Multi-host network
• Load Balancing
- 28. $ ssh -i <path-to-ssh-key> docker@<ssh-host>
Welcome to Docker!
$ docker info
$ docker node ls
- 29. docker service create
--name=viz
--publish=5000:8080/tcp
--constraint=node.role==manager
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock
dockersamples/visualizer
docker service ls
docker service ps viz
- 30. docker service create
--name=viz
--publish=5000:8080/tcp
--constraint=node.role==manager
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock
dockersamples/visualizer
name
publish
contraint
mount
- 32. docker network create --driver overlay vote-network
docker service create
--name=vote
--publish=3000:80
--network=vote-network
subicura/sample_vote:1
docker service scale vote=3
- 33. docker service create
--name=redis
redis:alpine
docker service rm redis
docker service create
--network=vote-network
--name=redis
redis:alpine
- 34. docker network create --driver overlay result-network
docker service create
--name=db
--network=result-network
--constraint=node.role==manager
--mount=type=volume,src=db-data,dst=/var/lib/postgresql/data
postgres:9.4
- 35. docker service create
--name=worker
--network=vote-network
--network=result-network
subicura/sample_worker:latest
- 36. docker service create
--name=result
--publish=3001:80
--network=result-network
--replicas 2
subicura/sample_result:1
- 37. docker service update
--image subicura/sample_vote:2
vote
docker service update
--image subicura/sample_result:2
result
- 41. docker network create --driver overlay frontend-network
docker service create --name traefik
--constraint 'node.role == manager'
-p 80:80
-p 8080:8080
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock
--network frontend-network
traefik
--docker
--docker.swarmmode
--docker.domain=aws.subicura.com
--docker.watch
--web
- 42. docker service create --name portainer
--network frontend-network
--label traefik.port=9000
--constraint 'node.role == manager'
--mount "type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock"
portainer/portainer
- 43. docker service create
--name=viz
--network=frontend-network
--label traefik.port=8080
--constraint=node.role==manager
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock
dockersamples/visualizer
- 44. docker service create
--name=vote
--label traefik.port=80
--label traefik.docker.network=frontend-network
--network=vote-network
--network=frontend-network
--replicas 3
subicura/sample_vote:2
- 45. docker service create
--name=result
--label traefik.port=80
--label traefik.docker.network=frontend-network
--label traefik.backend.loadbalancer.sticky=true
--network=frontend-network
--network=result-network
--replicas 2
subicura/sample_result:2
- 47. The three chief virtues of
a programmer are:
Laziness, Impatience and Hubris
, ,
Creator of Perl
- 48. The three chief virtues of
a programmer are:
Laziness, Impatience and Hubris
, ,
Creator of Perl