SlideShare uma empresa Scribd logo
1 de 16
Docker Networking
Intro Meetup
Sriram Natarajan
Dhananjay Sampath
Agenda
Introduction to Container Networking
Docker + OpenvSwitch demo
Hands on Tutorial instructions
Docker Networking 101
eth0
docker0
172.17.42.1
Container1 Container2
vethAQI2T veth01qe
eth0 eth0
Docker Bridge options
--net=bridge
--net=host
--net=container:NAME_or_ID
--net=none
--net=None
Port Mapping
eth0
docker0
172.17.42.1:49514
Container1 Container2
vethAQI2T veth01qe
eth0:5000 eth0
-P flag
Internet Communication
eth0
docker0
172.17.42.1
Container1 Container2
vethAQI2T veth01qe
eth0 eth0
internet
ip_forward = 1
Inter Container Communication
Container2
vethAQI2T veth01qe
eth0
docker0
Container1
--icc=true
Linking of Containers
db
vethAQI2T veth01qe
eth0
docker0
web
● Name the container using --name option
● Link container using --link name:alias
Hands on setup instructions
Containet Source Code: https://bitbucket.org/snrism/containet
Instructions: README part of the source code.
Connecting docker containers in 2 hosts
Container 1 Container 2
docker0
172.17.0.4 172.17.0.5
Container 3 Container 4
docker0
172.17.0.4 172.17.0.5
172.17.42.1 172.17.42.1
Host 1 Host 2
eth1 eth1
10.0.0.3 10.0.0.4
IP Address Conflicts…
Configuring container IP addresses
Container 1 Container 2
docker0
172.18.42.10 172.18.42.11
Container 3 Container 4
docker0
172.18.42.12 172.18.42.13
172.18.42.1 172.18.42.2
Host 1 Host 2
eth1 eth1
10.0.0.3 10.0.0.4
Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash
Record the Container ID that just started: docker ps
Configure IP addresses on eth0: ./start-container.sh <container-id> <ip-addr>
Experiment 1
Connect hosts via OVS (docker bridge + OVS)
Container 1 Container 2
docker0
172.18.42.10 172.18.42.11
Container 3 Container 4
docker0
172.18.42.12 172.18.42.13
172.18.42.1 172.18.42.2
Host 1 Host 2
eth1 eth1
10.0.0.3 10.0.0.4
Setup GRE Tunnel: ./ovs-tunnel-setup.sh
Setup IPTables for containers to reach other hosts: ./iptables.sh
Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash
Record the Container ID that just started: docker ps
Configure IP addresses on eth0: ./start-container.sh <container-id> <ip-addr>
br0
(ovs) gre0
br0
(ovs)gre0
Experiment 2
Connect hosts via OVS (direct OVS)
Container 1 Container 2 Container 3 Container 4
Host 1 Host 2
eth1 eth1
10.0.0.3 10.0.0.4
Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash
Record the Container ID that just started: docker ps
Configure eth1 and attach to OVS: ./connect-container.sh <container-id> <ip-addr>
br0
(ovs) gre0
br0
(ovs)gre0
Experiment 3
Connect hosts via OVS (direct OVS)
Use VLAN tags to segregate containers
Container 1 Container 2 Container 3 Container 4
Host 1 Host 2
eth1 eth1
10.0.0.3 10.0.0.4Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash
Record the Container ID that just started: docker ps
Configure eth1 and attach to OVS: ./connect-container.sh <container-id> <ip-addr> <vlan-tag>
br0
(ovs) gre0
br0
(ovs)gre0
Advanced Tools
Open Source Tools Description
Pipework
https://github.com/jpetazzo/pipework
Better configuration capabilities.
Works well with LXC and docker
Weave
https://github.com/zettio/weave
Simplifies connecting containers across multiple hosts.
Lorispack
https://github.com/lorispack/loris
Heterogeneous options to connect containers across hosts
Kubernetes
https://github.
com/GoogleCloudPlatform/kubernetes
Container cluster manager
Flannel
https://github.com/coreos/flannel
Overlay network that gives subnet for each machine with kubernetes
Openstack Icehouse – Orchestrate docker containers via heat templates

Mais conteúdo relacionado

Mais procurados

Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
Sim Janghoon
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
purpleocean
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
어형 이
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
Sim Janghoon
 

Mais procurados (20)

Docker Multihost Networking
Docker Multihost Networking Docker Multihost Networking
Docker Multihost Networking
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
OVS-NFV Tutorial
OVS-NFV TutorialOVS-NFV Tutorial
OVS-NFV Tutorial
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Docker networking tutorial 102
Docker networking tutorial 102Docker networking tutorial 102
Docker networking tutorial 102
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalDocker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
 
Install ovs on local pc
Install ovs on local pcInstall ovs on local pc
Install ovs on local pc
 
VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
 
Mininet Basics
Mininet BasicsMininet Basics
Mininet Basics
 
LF_OVS_17_OVS-DPDK Installation and Gotchas
LF_OVS_17_OVS-DPDK Installation and GotchasLF_OVS_17_OVS-DPDK Installation and Gotchas
LF_OVS_17_OVS-DPDK Installation and Gotchas
 
DockerCon17 - Beyond the backslash
DockerCon17 - Beyond the backslashDockerCon17 - Beyond the backslash
DockerCon17 - Beyond the backslash
 
SDNDS.TW Mininet
SDNDS.TW MininetSDNDS.TW Mininet
SDNDS.TW Mininet
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
 

Destaque

Neuropsychology Presentation - Craig Goodman, Ph.D. 2016
Neuropsychology Presentation - Craig Goodman, Ph.D. 2016Neuropsychology Presentation - Craig Goodman, Ph.D. 2016
Neuropsychology Presentation - Craig Goodman, Ph.D. 2016
Craig Goodman, PhD.
 

Destaque (20)

Быстровыдача: что это и как с ней работать
Быстровыдача: что это и как с ней работатьБыстровыдача: что это и как с ней работать
Быстровыдача: что это и как с ней работать
 
Neuropsychology Presentation - Craig Goodman, Ph.D. 2016
Neuropsychology Presentation - Craig Goodman, Ph.D. 2016Neuropsychology Presentation - Craig Goodman, Ph.D. 2016
Neuropsychology Presentation - Craig Goodman, Ph.D. 2016
 
Eventos Verano 2017
Eventos Verano 2017Eventos Verano 2017
Eventos Verano 2017
 
Антон Воронюк, WebPromoExperts — «3 вида контента, которые мы используем для...
Антон Воронюк, WebPromoExperts  — «3 вида контента, которые мы используем для...Антон Воронюк, WebPromoExperts  — «3 вида контента, которые мы используем для...
Антон Воронюк, WebPromoExperts — «3 вида контента, которые мы используем для...
 
Аналитика для трафиковых проектов (РИФ 2016)
Аналитика для трафиковых проектов (РИФ 2016)Аналитика для трафиковых проектов (РИФ 2016)
Аналитика для трафиковых проектов (РИФ 2016)
 
Devops in Networking
Devops in NetworkingDevops in Networking
Devops in Networking
 
SCM, CI and Maven Repo
SCM, CI and Maven RepoSCM, CI and Maven Repo
SCM, CI and Maven Repo
 
Microservices for Enterprises - Consistent Network & Security services for Co...
Microservices for Enterprises - Consistent Network & Security services for Co...Microservices for Enterprises - Consistent Network & Security services for Co...
Microservices for Enterprises - Consistent Network & Security services for Co...
 
Учет поведения, мобильности и яндекс.бандит (Optimization-16)Optimization16 t...
Учет поведения, мобильности и яндекс.бандит (Optimization-16)Optimization16 t...Учет поведения, мобильности и яндекс.бандит (Optimization-16)Optimization16 t...
Учет поведения, мобильности и яндекс.бандит (Optimization-16)Optimization16 t...
 
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
 
Как повысить позиции сайта в поисковых системах?
Как повысить позиции сайта в поисковых системах?Как повысить позиции сайта в поисковых системах?
Как повысить позиции сайта в поисковых системах?
 
Мониторинг поискового здоровья бизнеса
Мониторинг поискового здоровья бизнесаМониторинг поискового здоровья бизнеса
Мониторинг поискового здоровья бизнеса
 
Кластеризация и текстовый анализ
Кластеризация и текстовый анализКластеризация и текстовый анализ
Кластеризация и текстовый анализ
 
Integrating Apache NiFi and Apache Flink
Integrating Apache NiFi and Apache FlinkIntegrating Apache NiFi and Apache Flink
Integrating Apache NiFi and Apache Flink
 
Kafka Summit SF Apr 26 2016 - Generating Real-time Recommendations with NiFi,...
Kafka Summit SF Apr 26 2016 - Generating Real-time Recommendations with NiFi,...Kafka Summit SF Apr 26 2016 - Generating Real-time Recommendations with NiFi,...
Kafka Summit SF Apr 26 2016 - Generating Real-time Recommendations with NiFi,...
 
Design. Mobile.
Design. Mobile.Design. Mobile.
Design. Mobile.
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
 
Враг мой: анализ конкурентов в социальных сетях
Враг мой: анализ конкурентов в социальных сетяхВраг мой: анализ конкурентов в социальных сетях
Враг мой: анализ конкурентов в социальных сетях
 
presentation @ docker meetup
presentation @ docker meetuppresentation @ docker meetup
presentation @ docker meetup
 

Semelhante a Docker Networking Meetup - Intro to Docker Networking

Chris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks TutorialChris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks Tutorial
Cohesive Networks
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
KubeAcademy
 

Semelhante a Docker Networking Meetup - Intro to Docker Networking (20)

Docker networking Tutorial 101
Docker networking Tutorial 101Docker networking Tutorial 101
Docker networking Tutorial 101
 
Deep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay NetworksDeep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay Networks
 
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu VenugopalDocker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
 
Docker 1.11 Meetup: Networking Showcase
Docker 1.11 Meetup: Networking ShowcaseDocker 1.11 Meetup: Networking Showcase
Docker 1.11 Meetup: Networking Showcase
 
Deep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksDeep dive in Docker Overlay Networks
Deep dive in Docker Overlay Networks
 
Docker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUGDocker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUG
 
Deep Dive in Docker Overlay Networks - Laurent Bernaille - Architect, D2SI
Deep Dive in Docker Overlay Networks - Laurent Bernaille - Architect, D2SIDeep Dive in Docker Overlay Networks - Laurent Bernaille - Architect, D2SI
Deep Dive in Docker Overlay Networks - Laurent Bernaille - Architect, D2SI
 
Chris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networkingChris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networking
 
Chris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks TutorialChris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks Tutorial
 
Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1 Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1
 
Deeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay NetworksDeeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay Networks
 
Kubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switchKubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switch
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 
Docker Setting for Static IP allocation
Docker Setting for Static IP allocationDocker Setting for Static IP allocation
Docker Setting for Static IP allocation
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
 
Deeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksDeeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay Networks
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networking
 
Understanding docker networking
Understanding docker networkingUnderstanding docker networking
Understanding docker networking
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratch
 
Dockerffm meetup 20150113_networking
Dockerffm meetup 20150113_networkingDockerffm meetup 20150113_networking
Dockerffm meetup 20150113_networking
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Docker Networking Meetup - Intro to Docker Networking

  • 1. Docker Networking Intro Meetup Sriram Natarajan Dhananjay Sampath
  • 2. Agenda Introduction to Container Networking Docker + OpenvSwitch demo Hands on Tutorial instructions
  • 3. Docker Networking 101 eth0 docker0 172.17.42.1 Container1 Container2 vethAQI2T veth01qe eth0 eth0
  • 8. Inter Container Communication Container2 vethAQI2T veth01qe eth0 docker0 Container1 --icc=true
  • 9. Linking of Containers db vethAQI2T veth01qe eth0 docker0 web ● Name the container using --name option ● Link container using --link name:alias
  • 10. Hands on setup instructions Containet Source Code: https://bitbucket.org/snrism/containet Instructions: README part of the source code.
  • 11. Connecting docker containers in 2 hosts Container 1 Container 2 docker0 172.17.0.4 172.17.0.5 Container 3 Container 4 docker0 172.17.0.4 172.17.0.5 172.17.42.1 172.17.42.1 Host 1 Host 2 eth1 eth1 10.0.0.3 10.0.0.4 IP Address Conflicts…
  • 12. Configuring container IP addresses Container 1 Container 2 docker0 172.18.42.10 172.18.42.11 Container 3 Container 4 docker0 172.18.42.12 172.18.42.13 172.18.42.1 172.18.42.2 Host 1 Host 2 eth1 eth1 10.0.0.3 10.0.0.4 Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash Record the Container ID that just started: docker ps Configure IP addresses on eth0: ./start-container.sh <container-id> <ip-addr>
  • 13. Experiment 1 Connect hosts via OVS (docker bridge + OVS) Container 1 Container 2 docker0 172.18.42.10 172.18.42.11 Container 3 Container 4 docker0 172.18.42.12 172.18.42.13 172.18.42.1 172.18.42.2 Host 1 Host 2 eth1 eth1 10.0.0.3 10.0.0.4 Setup GRE Tunnel: ./ovs-tunnel-setup.sh Setup IPTables for containers to reach other hosts: ./iptables.sh Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash Record the Container ID that just started: docker ps Configure IP addresses on eth0: ./start-container.sh <container-id> <ip-addr> br0 (ovs) gre0 br0 (ovs)gre0
  • 14. Experiment 2 Connect hosts via OVS (direct OVS) Container 1 Container 2 Container 3 Container 4 Host 1 Host 2 eth1 eth1 10.0.0.3 10.0.0.4 Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash Record the Container ID that just started: docker ps Configure eth1 and attach to OVS: ./connect-container.sh <container-id> <ip-addr> br0 (ovs) gre0 br0 (ovs)gre0
  • 15. Experiment 3 Connect hosts via OVS (direct OVS) Use VLAN tags to segregate containers Container 1 Container 2 Container 3 Container 4 Host 1 Host 2 eth1 eth1 10.0.0.3 10.0.0.4Start a container w/o using docker's default network config: docker run -d --net=none -t -i ubuntu /bin/bash Record the Container ID that just started: docker ps Configure eth1 and attach to OVS: ./connect-container.sh <container-id> <ip-addr> <vlan-tag> br0 (ovs) gre0 br0 (ovs)gre0
  • 16. Advanced Tools Open Source Tools Description Pipework https://github.com/jpetazzo/pipework Better configuration capabilities. Works well with LXC and docker Weave https://github.com/zettio/weave Simplifies connecting containers across multiple hosts. Lorispack https://github.com/lorispack/loris Heterogeneous options to connect containers across hosts Kubernetes https://github. com/GoogleCloudPlatform/kubernetes Container cluster manager Flannel https://github.com/coreos/flannel Overlay network that gives subnet for each machine with kubernetes Openstack Icehouse – Orchestrate docker containers via heat templates