SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Introduction to Docker Swarm
Hsi-Kai Wang
Outline
• Docker Cluster
• Swarm
• Swarm + Consul + overlay network
What is PC Cluster
• A computer cluster consists of a set of
loosely or tightly connected computers that
work together so that, in many respects,
they can be viewed as a single system.
Unlike grid computers, computer clusters
have each node set to perform the same
task, controlled and scheduled by
software.
Ref: Computer cluster wiki
Docker Cluster Software
• Apchae Mesos
– abstract resource
• docker swarm
– easy way to cluster
– standard Docker API
• kubernetes
– container merge
– sample scaling
What is Swarm
• Docker Swarm is native clustering for
Docker. It turns a pool of Docker hosts
into a single, virtual Docker host. Because
Docker Swarm serves the standard
Docker API, any tool that already
communicates with a Docker daemon can
use Swarm to transparently scale to
multiple hosts.
Software Environment
• OS
– CentOS: 7 (7.1.1503)
• Software
– Docker 1.10 (1.10.3.cs2)
– Docker container network (Docker >= 1.9)
– Swarm (Docker >= 1.5, 2375 port)
– Consul
Swarm cluster
Docker
Host
172.17.33.83
Docker
Host
172.17.33.84
Docker
Host
swarmswarmswarm
Docker
Host
swarm
172.17.33.86
swarm cluster
swarm manager
swarm node
Docker - Setting• # docker install (Commercially Support, CS)
centos:~ # rpm --import https://sks-
keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d5
6f59a178ac6c6238f52e
centos:~ # yum install yum-utils
centos:~ # yum-config-manager --add-repo
https://packages.docker.com/1.10/yum/repo/main/centos/7
centos:~ # yum install docker-engine
centos:~ # systemctl enable docker.service
centos:~ # systemctl start docker.service
centos:~ # docker version # check version >= 1.5
• # docker config
centos:~ # vi /etc/systemd/system/multi-
user.target.wants/docker.serivce
...
ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H
unix:///var/run/docker.sock
...
centos:~ # systemctl restart docker.service
centos:~ # docker pull swarm
update setting
Swarm - config
• # run once to get swarm token_id
centos:~ # docker run --rm swarm create
c4602d1cf638ac9805a0693499f04404
• # setup swarm node
node:~ # docker run -d swarm join --
advertise=172.17.33.83:2375
token://c4602d1cf638ac9805a0693499f04404
• # setup swarm manager
manager:~ # docker run -d -p 2375:2375 swarm manage
token://c4602d1cf638ac9805a0693499f04404
• # list swarm cluster
manager/node:~ # docker run --rm swarm list
token://c4602d1cf638ac9805a0693499f04404
swarm node IP
token id
Swarm - usage
• # usage 1
manager:~ # docker -H 172.17.33.86:2375 info
manager:~ # docker -H 172.17.33.86:2375 run hello-world
manager:~ # docker -H 172.17.33.86:2375 ps -a
• # usage 2
manager:~ # export DOCKER_HOST=172.17.33.86:2375
manager:~ # docker info
manager:~ # docker run hello-world
manager:~ # unset DOCKER_HOST
swarm manager IP
swarm manager IP
Key/Value Server for Docker
• Apache ZooKeeper
• Consul
• etcd
What is Consul
• Consul has multiple components, but as a
whole, it is a tool for discovering and
configuring services in your infrastructure.
It provides several key features:
– Service Discovery
– Key/Value Store
– Multi Datacenter
– Health Checking
Docker container network
• Default Networks
– bridge
– none
– host
• User-Defined Networks
– bridge
– overlay
Default Networks
Container
eth0
Host
eth0
docker0
vethxx
Container
eth0
Container
eth0
bridge network none network host network
User-Defined Networks
Container
eth0
Host
docker_gwbridge
vethxx
eth1
eth0
Container
eth1
Host
docker_gwbridge
vethxx
eth0
eth0
overlay network
Swarm cluster + Consul + overlay network
Docker
Host
172.17.33.83
Docker
Host
172.17.33.84
Docker
Host
swarmswarmswarm
Docker
Host
swarm
172.17.33.86
swarm cluster
swarm manager
swarm node
consul
Consul
• # consul install
consul:~ # docker pull progrium/consul
consul:~ # docker run -d -p 8500:8500 progrium/consul -server -
bootstrap
• # consul test
consul:~ # curl -L http://172.17.33.86:8500/v1/catalog/nodes
consul IP
Docker - Setting
• # docker install (Commercially Support, CS)
centos:~ # rpm --import https://sks-
keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d5
6f59a178ac6c6238f52e
centos:~ # yum install yum-utils
centos:~ # yum-config-manager --add-repo
https://packages.docker.com/1.10/yum/repo/main/centos/7
centos:~ # yum install docker-engine
centos:~ # systemctl enable docker.service
centos:~ # systemctl start docker.service
centos:~ # docker version # check version >= 1.9
• # docker config
centos:~ # vi /etc/systemd/system/multi-
user.target.wants/docker.serivce
...
ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H
unix:///var/run/docker.sock
--cluster-store=consul://172.17.33.86:8500 --cluster-
advertise=172.17.33.83:2375
...
centos:~ # systemctl restart docker.service
centos:~ # docker pull swarm
consul IP
swarm node IP
Swarm
• # setup swarm node
node:~ # docker run -d swarm join --advertise=172.17.33.83:2375
consul://172.17.33.86:8500/dc1
• # setup swarm manager
manager:~ # docker run -d -p 2376:2375 swarm manage
consul://172.17.33.86:8500/dc1
• # list swarm cluster
manager:~ # docker run --rm swarm list
consul://172.17.33.86:8500/dc1
swarm node IPconsul IP
overlay network
• manager:~ # docker network create -d overlay onetwork
manager:~ # docker network ls
• manager:~ # docker run -itd --name=abc --
env="constraint:node==d1" --net=onetwork ubuntu /bin/bash
manager:~ # docker run -itd --name=xyz --
env="constraint:node==d2" --net=onetwork ubuntu /bin/bash
manager:~ # docker ps
--subnet=10.0.9.0/24
--ip-range=10.0.9.0/24
overlay network
• manager:~ # docker network inspect onetwork
manager:~ # docker exec -it abc ping -c3 10.0.0.3
Reference
• Manually Install the CS Docker Engine
• Understand Docker container networks
• 深入瞭解 Docker Container Networks
• 用Docker Swarm打造多主機叢集環境
• Docker cluster with swarm, consul,
registrator and consul-template

Weitere ähnliche Inhalte

Was ist angesagt?

Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyGiovanni Toraldo
 
Docker Online Meetup #28: Production-Ready Docker Swarm
Docker Online Meetup #28: Production-Ready Docker SwarmDocker Online Meetup #28: Production-Ready Docker Swarm
Docker Online Meetup #28: Production-Ready Docker SwarmDocker, Inc.
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for BeginnerShahzad Masud
 
Dockercon Swarm Updated
Dockercon Swarm UpdatedDockercon Swarm Updated
Dockercon Swarm UpdatedDocker, Inc.
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and SwarmC4Media
 
Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXNGINX, Inc.
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeAjeet Singh Raina
 
Consul and docker swarm cluster
Consul and docker swarm clusterConsul and docker swarm cluster
Consul and docker swarm clusterEueung Mulyana
 
Docker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker, Inc.
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Chris Ciborowski
 
Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)
Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)
Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)Mike Goelzer
 
Docker Swarm & Machine
Docker Swarm & MachineDocker Swarm & Machine
Docker Swarm & MachineEueung Mulyana
 
Docker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowDocker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowPLUMgrid
 
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...Atlassian
 
Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Hervé Leclerc
 
CoreOS Overview and Current Status
CoreOS Overview and Current StatusCoreOS Overview and Current Status
CoreOS Overview and Current StatusSreenivas Makam
 

Was ist angesagt? (20)

Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
 
Docker Online Meetup #28: Production-Ready Docker Swarm
Docker Online Meetup #28: Production-Ready Docker SwarmDocker Online Meetup #28: Production-Ready Docker Swarm
Docker Online Meetup #28: Production-Ready Docker Swarm
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for Beginner
 
Dockercon Swarm Updated
Dockercon Swarm UpdatedDockercon Swarm Updated
Dockercon Swarm Updated
 
Docker 1.12 and swarm mode
Docker 1.12 and swarm modeDocker 1.12 and swarm mode
Docker 1.12 and swarm mode
 
Swarm mode
Swarm modeSwarm mode
Swarm mode
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and Swarm
 
Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINX
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm Mode
 
Consul and docker swarm cluster
Consul and docker swarm clusterConsul and docker swarm cluster
Consul and docker swarm cluster
 
Docker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF Meetup
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015
 
Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)
Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)
Docker Swarm 45-min Workshop (Mountain View Docker Meetup 2/24/2016)
 
Docker Swarm & Machine
Docker Swarm & MachineDocker Swarm & Machine
Docker Swarm & Machine
 
Docker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowDocker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know now
 
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
 
Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
 
CoreOS Overview and Current Status
CoreOS Overview and Current StatusCoreOS Overview and Current Status
CoreOS Overview and Current Status
 
swarmmode-dojo
swarmmode-dojoswarmmode-dojo
swarmmode-dojo
 

Andere mochten auch

Docker Swarm: Docker Native Clustering
Docker Swarm: Docker Native ClusteringDocker Swarm: Docker Native Clustering
Docker Swarm: Docker Native ClusteringDocker, Inc.
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksAdrien Blind
 
Docker networking Tutorial 101
Docker networking Tutorial 101Docker networking Tutorial 101
Docker networking Tutorial 101LorisPack Project
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker, Inc.
 
Docker For Azure Deployment Walkthrough
Docker For Azure Deployment WalkthroughDocker For Azure Deployment Walkthrough
Docker For Azure Deployment WalkthroughTimothy Wong
 
Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...Murat Mukhtarov
 
DockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDocker, Inc.
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep DiveDocker, Inc.
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Docker for azure tri aug - feb 2017
Docker for azure   tri aug - feb 2017Docker for azure   tri aug - feb 2017
Docker for azure tri aug - feb 2017Timothy Wong
 
Docker Swarm Overview
Docker Swarm OverviewDocker Swarm Overview
Docker Swarm OverviewDavid Strebel
 
DockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDocker-Hanoi
 
An Introduction to Rancher
An Introduction to RancherAn Introduction to Rancher
An Introduction to RancherConner Swann
 
Docker architecture (version modified)
Docker architecture (version modified)Docker architecture (version modified)
Docker architecture (version modified)Amir Arsalan
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Alexis Ducastel
 
Docker cluster with swarm, consul, registrator and consul-template
Docker cluster with swarm, consul, registrator and consul-templateDocker cluster with swarm, consul, registrator and consul-template
Docker cluster with swarm, consul, registrator and consul-templateJulien Maitrehenry
 

Andere mochten auch (18)

Docker Swarm: Docker Native Clustering
Docker Swarm: Docker Native ClusteringDocker Swarm: Docker Native Clustering
Docker Swarm: Docker Native Clustering
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
 
Docker networking Tutorial 101
Docker networking Tutorial 101Docker networking Tutorial 101
Docker networking Tutorial 101
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
 
Docker For Azure Deployment Walkthrough
Docker For Azure Deployment WalkthroughDocker For Azure Deployment Walkthrough
Docker For Azure Deployment Walkthrough
 
Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...
 
DockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep Dive
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Docker for azure tri aug - feb 2017
Docker for azure   tri aug - feb 2017Docker for azure   tri aug - feb 2017
Docker for azure tri aug - feb 2017
 
Docker Swarm Overview
Docker Swarm OverviewDocker Swarm Overview
Docker Swarm Overview
 
Dianabol Canada
Dianabol CanadaDianabol Canada
Dianabol Canada
 
DockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDockerDay2015: Docker Networking
DockerDay2015: Docker Networking
 
An Introduction to Rancher
An Introduction to RancherAn Introduction to Rancher
An Introduction to Rancher
 
Devops
DevopsDevops
Devops
 
Docker architecture (version modified)
Docker architecture (version modified)Docker architecture (version modified)
Docker architecture (version modified)
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
 
Docker cluster with swarm, consul, registrator and consul-template
Docker cluster with swarm, consul, registrator and consul-templateDocker cluster with swarm, consul, registrator and consul-template
Docker cluster with swarm, consul, registrator and consul-template
 

Ähnlich wie Introction to docker swarm

Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Ben Hall
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
 
Docker workshop
Docker workshopDocker workshop
Docker workshopEvans Ye
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneIntroduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneD
 
Docker advance topic
Docker advance topicDocker advance topic
Docker advance topicKalkey
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Bo-Yi Wu
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班Philip Zheng
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environmentSumedt Jitpukdebodin
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班Paul Chao
 
Create and use a Dockerized Aruba Cloud server - CloudConf 2017
Create and use a Dockerized Aruba Cloud server - CloudConf 2017Create and use a Dockerized Aruba Cloud server - CloudConf 2017
Create and use a Dockerized Aruba Cloud server - CloudConf 2017Aruba S.p.A.
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOpsandersjanmyr
 
Dockertaipei 20150528-dockerswarm
Dockertaipei 20150528-dockerswarmDockertaipei 20150528-dockerswarm
Dockertaipei 20150528-dockerswarmWei-Ting Kuo
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707Clarence Ho
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안양재동 코드랩
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 PresentationSreenivas Makam
 

Ähnlich wie Introction to docker swarm (20)

Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneIntroduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group Cologne
 
Docker advance topic
Docker advance topicDocker advance topic
Docker advance topic
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
 
Docker advance1
Docker advance1Docker advance1
Docker advance1
 
moscmy2016: Extending Docker
moscmy2016: Extending Dockermoscmy2016: Extending Docker
moscmy2016: Extending Docker
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environment
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
Create and use a Dockerized Aruba Cloud server - CloudConf 2017
Create and use a Dockerized Aruba Cloud server - CloudConf 2017Create and use a Dockerized Aruba Cloud server - CloudConf 2017
Create and use a Dockerized Aruba Cloud server - CloudConf 2017
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
Dockertaipei 20150528-dockerswarm
Dockertaipei 20150528-dockerswarmDockertaipei 20150528-dockerswarm
Dockertaipei 20150528-dockerswarm
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
 
Docker
DockerDocker
Docker
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 Presentation
 
How to _docker
How to _dockerHow to _docker
How to _docker
 

Kürzlich hochgeladen

Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book nowGuwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book nowapshanarani255
 
Book_ A Project based approach CHAPTER 1 summary.pptx
Book_ A Project based approach CHAPTER 1 summary.pptxBook_ A Project based approach CHAPTER 1 summary.pptx
Book_ A Project based approach CHAPTER 1 summary.pptxssuser8fd809
 
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579diyaspanoida
 
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 60009891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000teencall080
 
Call Girls in Luxus Grand Hotel | 💋 03274100048
Call Girls in Luxus Grand Hotel | 💋 03274100048Call Girls in Luxus Grand Hotel | 💋 03274100048
Call Girls in Luxus Grand Hotel | 💋 03274100048Ifra Zohaib
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowapshanarani255
 
Call Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near MeCall Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near MeIfra Zohaib
 
Karachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in KarachiKarachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in KarachiAwais Yousaf
 
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...riyadelhic riyadelhic
 
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotRajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotSivanyaPandeya
 
+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...kauryashika82
 
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...teencall080
 
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...DelhiMahipalpur
 
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...aakahthapa70
 
Udupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort serviceUdupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort servicemaheshsingh64440
 
Radhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts serviceRadhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts servicerahul222jai
 
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579diyaspanoida
 
Bhopal Call girl service 6289102337 bhopal escort service
Bhopal Call girl service 6289102337 bhopal escort serviceBhopal Call girl service 6289102337 bhopal escort service
Bhopal Call girl service 6289102337 bhopal escort servicemaheshsingh64440
 
SURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL GSURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL GNiteshKumar82226
 

Kürzlich hochgeladen (20)

Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book nowGuwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
 
Book_ A Project based approach CHAPTER 1 summary.pptx
Book_ A Project based approach CHAPTER 1 summary.pptxBook_ A Project based approach CHAPTER 1 summary.pptx
Book_ A Project based approach CHAPTER 1 summary.pptx
 
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
 
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 60009891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
 
Call Girls in Luxus Grand Hotel | 💋 03274100048
Call Girls in Luxus Grand Hotel | 💋 03274100048Call Girls in Luxus Grand Hotel | 💋 03274100048
Call Girls in Luxus Grand Hotel | 💋 03274100048
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
 
Call Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near MeCall Girls | 😏💦 03274100048 | Call Girls Near Me
Call Girls | 😏💦 03274100048 | Call Girls Near Me
 
Karachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in KarachiKarachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in Karachi
 
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
Call Now ☎9870417354|| Call Girls in Gurgaon Sector 13 Escort Service Gurgaon...
 
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotRajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
 
+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9899900591 Russian Call Girls In New Delhi Independent Russian Call Girls...
 
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
 
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
 
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
 
Udupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort serviceUdupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort service
 
Radhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts serviceRadhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts service
 
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
Best VIP Call Girl Noida Sector 48 Call Me: 8700611579
 
Bhopal Call girl service 6289102337 bhopal escort service
Bhopal Call girl service 6289102337 bhopal escort serviceBhopal Call girl service 6289102337 bhopal escort service
Bhopal Call girl service 6289102337 bhopal escort service
 
SURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL GSURAT CALL GIRL 92628/71154 SURAT CALL G
SURAT CALL GIRL 92628/71154 SURAT CALL G
 
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
 

Introction to docker swarm

  • 1. Introduction to Docker Swarm Hsi-Kai Wang
  • 2. Outline • Docker Cluster • Swarm • Swarm + Consul + overlay network
  • 3. What is PC Cluster • A computer cluster consists of a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software. Ref: Computer cluster wiki
  • 4. Docker Cluster Software • Apchae Mesos – abstract resource • docker swarm – easy way to cluster – standard Docker API • kubernetes – container merge – sample scaling
  • 5. What is Swarm • Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual Docker host. Because Docker Swarm serves the standard Docker API, any tool that already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts.
  • 6. Software Environment • OS – CentOS: 7 (7.1.1503) • Software – Docker 1.10 (1.10.3.cs2) – Docker container network (Docker >= 1.9) – Swarm (Docker >= 1.5, 2375 port) – Consul
  • 8. Docker - Setting• # docker install (Commercially Support, CS) centos:~ # rpm --import https://sks- keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d5 6f59a178ac6c6238f52e centos:~ # yum install yum-utils centos:~ # yum-config-manager --add-repo https://packages.docker.com/1.10/yum/repo/main/centos/7 centos:~ # yum install docker-engine centos:~ # systemctl enable docker.service centos:~ # systemctl start docker.service centos:~ # docker version # check version >= 1.5 • # docker config centos:~ # vi /etc/systemd/system/multi- user.target.wants/docker.serivce ... ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ... centos:~ # systemctl restart docker.service centos:~ # docker pull swarm update setting
  • 9. Swarm - config • # run once to get swarm token_id centos:~ # docker run --rm swarm create c4602d1cf638ac9805a0693499f04404 • # setup swarm node node:~ # docker run -d swarm join -- advertise=172.17.33.83:2375 token://c4602d1cf638ac9805a0693499f04404 • # setup swarm manager manager:~ # docker run -d -p 2375:2375 swarm manage token://c4602d1cf638ac9805a0693499f04404 • # list swarm cluster manager/node:~ # docker run --rm swarm list token://c4602d1cf638ac9805a0693499f04404 swarm node IP token id
  • 10. Swarm - usage • # usage 1 manager:~ # docker -H 172.17.33.86:2375 info manager:~ # docker -H 172.17.33.86:2375 run hello-world manager:~ # docker -H 172.17.33.86:2375 ps -a • # usage 2 manager:~ # export DOCKER_HOST=172.17.33.86:2375 manager:~ # docker info manager:~ # docker run hello-world manager:~ # unset DOCKER_HOST swarm manager IP swarm manager IP
  • 11. Key/Value Server for Docker • Apache ZooKeeper • Consul • etcd
  • 12. What is Consul • Consul has multiple components, but as a whole, it is a tool for discovering and configuring services in your infrastructure. It provides several key features: – Service Discovery – Key/Value Store – Multi Datacenter – Health Checking
  • 13. Docker container network • Default Networks – bridge – none – host • User-Defined Networks – bridge – overlay
  • 16. Swarm cluster + Consul + overlay network Docker Host 172.17.33.83 Docker Host 172.17.33.84 Docker Host swarmswarmswarm Docker Host swarm 172.17.33.86 swarm cluster swarm manager swarm node consul
  • 17. Consul • # consul install consul:~ # docker pull progrium/consul consul:~ # docker run -d -p 8500:8500 progrium/consul -server - bootstrap • # consul test consul:~ # curl -L http://172.17.33.86:8500/v1/catalog/nodes consul IP
  • 18. Docker - Setting • # docker install (Commercially Support, CS) centos:~ # rpm --import https://sks- keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d5 6f59a178ac6c6238f52e centos:~ # yum install yum-utils centos:~ # yum-config-manager --add-repo https://packages.docker.com/1.10/yum/repo/main/centos/7 centos:~ # yum install docker-engine centos:~ # systemctl enable docker.service centos:~ # systemctl start docker.service centos:~ # docker version # check version >= 1.9 • # docker config centos:~ # vi /etc/systemd/system/multi- user.target.wants/docker.serivce ... ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=consul://172.17.33.86:8500 --cluster- advertise=172.17.33.83:2375 ... centos:~ # systemctl restart docker.service centos:~ # docker pull swarm consul IP swarm node IP
  • 19. Swarm • # setup swarm node node:~ # docker run -d swarm join --advertise=172.17.33.83:2375 consul://172.17.33.86:8500/dc1 • # setup swarm manager manager:~ # docker run -d -p 2376:2375 swarm manage consul://172.17.33.86:8500/dc1 • # list swarm cluster manager:~ # docker run --rm swarm list consul://172.17.33.86:8500/dc1 swarm node IPconsul IP
  • 20. overlay network • manager:~ # docker network create -d overlay onetwork manager:~ # docker network ls • manager:~ # docker run -itd --name=abc -- env="constraint:node==d1" --net=onetwork ubuntu /bin/bash manager:~ # docker run -itd --name=xyz -- env="constraint:node==d2" --net=onetwork ubuntu /bin/bash manager:~ # docker ps --subnet=10.0.9.0/24 --ip-range=10.0.9.0/24
  • 21. overlay network • manager:~ # docker network inspect onetwork manager:~ # docker exec -it abc ping -c3 10.0.0.3
  • 22. Reference • Manually Install the CS Docker Engine • Understand Docker container networks • 深入瞭解 Docker Container Networks • 用Docker Swarm打造多主機叢集環境 • Docker cluster with swarm, consul, registrator and consul-template