SlideShare a Scribd company logo
1 of 30
Simple Docker hosting on FIWARE Lab
Kenneth Nagin
IBM
Cloud Chapter Lead, FIWARE
nagin@il.ibm.com
FIWARE Lab Cloud Docker Hosting Overview
• Docker Hub: cloud service for managing and sharing Docker container images, including
FIWARE services, i.e. Generic Enablers (GEs) (http://catalogue.fiware.org/enablers);
• Docker Engine: creates and runs Docker containers; pulls/pushes images from/to
Docker Hub;
• Docker Compose: defines and runs multi-container applications;.
• Docker Swarm: manages a pool of Docker hosts using the full suite of Docker tools.
Because Docker Swarm serves the standard Docker API, any tool that already
communicates with a Docker daemon, e.g. Docker-Compose, can use Swarm to
transparently scale to multiple hosts.
• Docker Machine: creates and manages Docker hosts locally or on cloud providers
(including OpenStack). It can be used to create and manage Docker swam clusters.
• FIWARE Lab Docker Hosting: Docker Containers, Docker machines, and Docker Swarm
clusters can be hosted on the FIWARE lab, but remotely created and managed by local
Docker clients;
5
Simple Docker hosting on FIWARE
Remotely Managed by Docker Client
……
Region
….
Region
….
client
client
docker-engine
docker-machine
docker-compose
docker-swarm
docker api, openstack api, ssh
any tool based
on
docker-apidocker cli
Set up steps
1. Sign up fiware account (https://account.lab.fiware.org/sign_up/)
2. (Optionall) Request Community Upgrade
3. The orgranization automatically associated with your account must be able to
allocate at least on floating point IP and access at least one FIWARE region.
You can create other organizations.
4. In Cloud service
– Create Security Group that exposes ports for daemon, ssh, and any other
ports that are required.
– Allocated a floating point IP
5. Install docker and docker machine on your local computer
6. Use docker-machine to create hosts & swarm clusters on the desired FIWARE
regions
7
10
FIWARE Set up: Add security group for docker-machine
SSH: Port 22
Docker Daemon Port 2376
Docker Swarm Master Port: 3376
Auto allocated user ports: 32768-
33768
Other User Ports e.g. 8080
11
FIWARE set up: Allocate at least one public ip
12
docker-machine create docker host on FIWARE
export OS_REGION_NAME=<fiware region> #e.g. 'Spain2’
export OS_TENANT_NAME=<user’s organization> #e.g. ‘username cloud’
export OS_USERNAME=<user’s email address> #e.g. ‘username@gmail.com’
export OS_PASSWORD=<user’s password>
Export OS_DOMAIN_NAME=‘default’
export OS_AUTH_URL='http://cloud.lab.fi-ware.org:4730/v2.0/'
export OS_AUTH_STRATEGY='keystone'
13
docker-machine create docker host on fiware
$ docker-machine create -d openstack --openstack-flavor-id="2“ 
--openstack-image-name=“base_Ubuntu_14.04” 
--openstack-net-name="node-int-net-01" 
--openstack-floatingip-pool="public-ext-net-01" 
--openstack-sec-groups="docker-machine-sg" 
--openstack-ssh-user=“ubuntu” 
FIWARE-SPAIN2
Don’t forget to configure the security group with all necessary ports.
15
docker-machine ls
>eval “$(docker-machine env FIWARE-SPAIN2)”
>docker info
>eval $(docker-machine env FIWARE-SPAIN2)
>docker run hello-world
>eval $(docker-machine env FIWARE-SPAIN2)
>docker-compose up –d
>docker-compose ps
curl <FIWARE-SPAIN2 IP>:<EXPOSED PORT>
>curl <FIWARE-SPAIN2 IP>:<EXPOSED PORT>
21
Docker create swarm container
Save token in $TOKEN
> docker
22
Docker Swarm: create master
>export OS_REGION_NAME=Spain2
>docker-machine create -d openstack 
--openstack-flavor-id="2" 
--openstack-image-id=“base_Ubuntu_14.4” 
--openstack-net-name="node-int-net-01" 
--openstack-floatingip-pool="public-ext-net-01“ 
--openstack-sec-groups="docker-machine-sg" 
--openstack-ssh-user=“ubuntu” 
--swarm --swarm-master 
--swarm-discovery token://$TOKEN 
FIWARE-SPAIN2
23
Docker Swarm: create agent
>export OS_REGION_NAME=Crete
>docker-machine create -d openstack 
–-openstack-flavor-id="2" 
--openstack-image-id=“base_Ubuntu_14.4” 
--openstack-net-name="node-int-net-01" 
--openstack-floatingip-pool="public-ext-net-01" 
--openstack-sec-groups="docker-machine-sg“ 
--openstack-ssh-user=“ubuntu” 
--swarm 
--swarm-discovery token://$TOKEN 
FIWARE-Crete
docker swarm
• docker-machine ls
>eval “$(docker-machine env --swarm FIWARE-SPAIN2)”
>docker info
>eval $(docker-machine env --swarm FIWARE-SPAIN2)
>docker run hello-world
>docker ps -a
>eval $(docker-machine env --swarm FIWARE-SPAIN2)
>docker-compose up -d
>docker ps
>curl http://147.27.60.99:32768/employees/resources/employees/
>eval $(docker-machine env --swarm FIWARE-SPAIN2)
>docker-compose stop
>docker-compose ps
Limitations
•labor-intensive for non-trivial environments
•security
•multi-tenancy
•scalability
•manageability
•limited Docker features (storage, network, etc)
•not production-ready (high availability, etc)
Simple docker hosting on fiware lab

More Related Content

What's hot

K8s security best practices
K8s security best practicesK8s security best practices
K8s security best practicesSharon Vendrov
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container SecuritySuraj Khetani
 
Openstack architure part 1
Openstack architure part 1Openstack architure part 1
Openstack architure part 1Nhan Cao Thanh
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architectureToni Ramirez
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone DeploymentPriti Desai
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source CloudAdrian Otto
 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWSManish Jain
 
OpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialSaju Madhavan
 
Hyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeHyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeAlessandro Pilotti
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
OpenStack Architecture: Past and Future
OpenStack Architecture: Past and FutureOpenStack Architecture: Past and Future
OpenStack Architecture: Past and FutureKen Pepple
 
Docker Container Security - A Network View
Docker Container Security - A Network ViewDocker Container Security - A Network View
Docker Container Security - A Network ViewNeuVector
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Prasad Mukhedkar
 
Devnet 1005 Getting Started with OpenStack
Devnet 1005 Getting Started with OpenStackDevnet 1005 Getting Started with OpenStack
Devnet 1005 Getting Started with OpenStackCisco DevNet
 
AWS Summit Nordics - Getting Started With AWS
AWS Summit Nordics - Getting Started With AWSAWS Summit Nordics - Getting Started With AWS
AWS Summit Nordics - Getting Started With AWSAmazon Web Services
 
How abusing the Docker API led to remote code execution same origin bypass an...
How abusing the Docker API led to remote code execution same origin bypass an...How abusing the Docker API led to remote code execution same origin bypass an...
How abusing the Docker API led to remote code execution same origin bypass an...Aqua Security
 
Code Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et RancherCode Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et RancherSUSE
 

What's hot (20)

K8s security best practices
K8s security best practicesK8s security best practices
K8s security best practices
 
Dev stacklabguide
Dev stacklabguideDev stacklabguide
Dev stacklabguide
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
 
Openstack architure part 1
Openstack architure part 1Openstack architure part 1
Openstack architure part 1
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone Deployment
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source Cloud
 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWS
 
OpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf Tutorial
 
Hyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeHyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova Compute
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
Advanced Container Security
Advanced Container Security Advanced Container Security
Advanced Container Security
 
OpenStack Architecture: Past and Future
OpenStack Architecture: Past and FutureOpenStack Architecture: Past and Future
OpenStack Architecture: Past and Future
 
Docker Container Security - A Network View
Docker Container Security - A Network ViewDocker Container Security - A Network View
Docker Container Security - A Network View
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
Devnet 1005 Getting Started with OpenStack
Devnet 1005 Getting Started with OpenStackDevnet 1005 Getting Started with OpenStack
Devnet 1005 Getting Started with OpenStack
 
AWS Summit Nordics - Getting Started With AWS
AWS Summit Nordics - Getting Started With AWSAWS Summit Nordics - Getting Started With AWS
AWS Summit Nordics - Getting Started With AWS
 
How abusing the Docker API led to remote code execution same origin bypass an...
How abusing the Docker API led to remote code execution same origin bypass an...How abusing the Docker API led to remote code execution same origin bypass an...
How abusing the Docker API led to remote code execution same origin bypass an...
 
Code Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et RancherCode Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et Rancher
 

Viewers also liked

HSW - Home Sweet Work
HSW - Home Sweet WorkHSW - Home Sweet Work
HSW - Home Sweet WorkMarco Coghi
 
Beacon Portuguese October 2011
Beacon Portuguese October 2011Beacon Portuguese October 2011
Beacon Portuguese October 2011npac75
 
Geneva crossing the lake - cool travel - around the world
Geneva   crossing the lake - cool travel - around the worldGeneva   crossing the lake - cool travel - around the world
Geneva crossing the lake - cool travel - around the worldMaarten Schäfer
 
Manoel luciene2007doutorado
Manoel luciene2007doutoradoManoel luciene2007doutorado
Manoel luciene2007doutoradoLuciene Gomes
 
Publicidad y Redes Sociales. II Parte.
Publicidad y Redes Sociales. II Parte.Publicidad y Redes Sociales. II Parte.
Publicidad y Redes Sociales. II Parte.Bidane Galicia
 
Power mireia silvia
Power mireia silviaPower mireia silvia
Power mireia silviajdelga36
 
Influencia de la estructura de los distritos en su capacidad de innovación
Influencia de la estructura de los distritos en su capacidad de innovaciónInfluencia de la estructura de los distritos en su capacidad de innovación
Influencia de la estructura de los distritos en su capacidad de innovaciónDaniel Gabadón-Estevan
 
Trabajo práctico nº3
Trabajo práctico nº3Trabajo práctico nº3
Trabajo práctico nº3Camiii07
 
Merkenbinding door Social Media (Poken uitgelegd)
Merkenbinding door Social Media (Poken uitgelegd)Merkenbinding door Social Media (Poken uitgelegd)
Merkenbinding door Social Media (Poken uitgelegd)Ayman van Bregt
 
Drupal Panopoly | Drupal Camp Vienna 2015
Drupal Panopoly | Drupal Camp Vienna 2015Drupal Panopoly | Drupal Camp Vienna 2015
Drupal Panopoly | Drupal Camp Vienna 2015Matthias Walti
 
Invitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo León
Invitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo LeónInvitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo León
Invitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo LeónNatura Equilibrium
 
SPORT CV - 2015 resume
SPORT CV - 2015 resumeSPORT CV - 2015 resume
SPORT CV - 2015 resumeDave van Dyk
 
Antioxidant and-anticancer-activities-of-moringa-leaves
Antioxidant and-anticancer-activities-of-moringa-leavesAntioxidant and-anticancer-activities-of-moringa-leaves
Antioxidant and-anticancer-activities-of-moringa-leavesSilentdisco Berlin
 

Viewers also liked (20)

HSW - Home Sweet Work
HSW - Home Sweet WorkHSW - Home Sweet Work
HSW - Home Sweet Work
 
Beacon Portuguese October 2011
Beacon Portuguese October 2011Beacon Portuguese October 2011
Beacon Portuguese October 2011
 
Geneva crossing the lake - cool travel - around the world
Geneva   crossing the lake - cool travel - around the worldGeneva   crossing the lake - cool travel - around the world
Geneva crossing the lake - cool travel - around the world
 
Gorbeia Central Park
Gorbeia Central ParkGorbeia Central Park
Gorbeia Central Park
 
Manoel luciene2007doutorado
Manoel luciene2007doutoradoManoel luciene2007doutorado
Manoel luciene2007doutorado
 
Publicidad y Redes Sociales. II Parte.
Publicidad y Redes Sociales. II Parte.Publicidad y Redes Sociales. II Parte.
Publicidad y Redes Sociales. II Parte.
 
Power mireia silvia
Power mireia silviaPower mireia silvia
Power mireia silvia
 
Influencia de la estructura de los distritos en su capacidad de innovación
Influencia de la estructura de los distritos en su capacidad de innovaciónInfluencia de la estructura de los distritos en su capacidad de innovación
Influencia de la estructura de los distritos en su capacidad de innovación
 
Trabajo práctico nº3
Trabajo práctico nº3Trabajo práctico nº3
Trabajo práctico nº3
 
Merkenbinding door Social Media (Poken uitgelegd)
Merkenbinding door Social Media (Poken uitgelegd)Merkenbinding door Social Media (Poken uitgelegd)
Merkenbinding door Social Media (Poken uitgelegd)
 
Drupal Panopoly | Drupal Camp Vienna 2015
Drupal Panopoly | Drupal Camp Vienna 2015Drupal Panopoly | Drupal Camp Vienna 2015
Drupal Panopoly | Drupal Camp Vienna 2015
 
7 people
7 people7 people
7 people
 
Invitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo León
Invitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo LeónInvitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo León
Invitación a Ponencia sobre Desarrollo Comunitario DIF Nuevo León
 
Fiji 2012
Fiji 2012Fiji 2012
Fiji 2012
 
The Shipyard Email Statistics
The Shipyard Email StatisticsThe Shipyard Email Statistics
The Shipyard Email Statistics
 
Hitex TexPrint
Hitex TexPrintHitex TexPrint
Hitex TexPrint
 
SPORT CV - 2015 resume
SPORT CV - 2015 resumeSPORT CV - 2015 resume
SPORT CV - 2015 resume
 
Antioxidant and-anticancer-activities-of-moringa-leaves
Antioxidant and-anticancer-activities-of-moringa-leavesAntioxidant and-anticancer-activities-of-moringa-leaves
Antioxidant and-anticancer-activities-of-moringa-leaves
 
6 AltáNtico
6 AltáNtico6 AltáNtico
6 AltáNtico
 
La liebre mara brandon
La liebre mara   brandonLa liebre mara   brandon
La liebre mara brandon
 

Similar to Simple docker hosting on fiware lab

Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentalsAlper Unal
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruDeploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruSwaminathan Vetri
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Developmentmsyukor
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with dockerMichelle Liu
 
Paolucci voxxed-days-berlin-2016-age-of-orchestration
Paolucci voxxed-days-berlin-2016-age-of-orchestrationPaolucci voxxed-days-berlin-2016-age-of-orchestration
Paolucci voxxed-days-berlin-2016-age-of-orchestrationGrzegorz Duda
 
Docker for (Java) Developers
Docker for (Java) DevelopersDocker for (Java) Developers
Docker for (Java) DevelopersRafael Benevides
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班Philip Zheng
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班Paul Chao
 
Docker Networking - Boulder Linux Users Group (BLUG)
Docker Networking - Boulder Linux Users Group (BLUG)Docker Networking - Boulder Linux Users Group (BLUG)
Docker Networking - Boulder Linux Users Group (BLUG)Dan Mackin
 
Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Patrick Chanezon
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerDavid Currie
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 

Similar to Simple docker hosting on fiware lab (20)

Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
How to _docker
How to _dockerHow to _docker
How to _docker
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruDeploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
 
Docker toolbox
Docker toolboxDocker toolbox
Docker toolbox
 
Docker Started
Docker StartedDocker Started
Docker Started
 
Paolucci voxxed-days-berlin-2016-age-of-orchestration
Paolucci voxxed-days-berlin-2016-age-of-orchestrationPaolucci voxxed-days-berlin-2016-age-of-orchestration
Paolucci voxxed-days-berlin-2016-age-of-orchestration
 
Docker-machine
Docker-machineDocker-machine
Docker-machine
 
Docker
DockerDocker
Docker
 
Docker From Scratch
Docker From ScratchDocker From Scratch
Docker From Scratch
 
Docker for (Java) Developers
Docker for (Java) DevelopersDocker for (Java) Developers
Docker for (Java) Developers
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
Docker Networking - Boulder Linux Users Group (BLUG)
Docker Networking - Boulder Linux Users Group (BLUG)Docker Networking - Boulder Linux Users Group (BLUG)
Docker Networking - Boulder Linux Users Group (BLUG)
 
Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 

Simple docker hosting on fiware lab

  • 1. Simple Docker hosting on FIWARE Lab Kenneth Nagin IBM Cloud Chapter Lead, FIWARE nagin@il.ibm.com
  • 2.
  • 3.
  • 4.
  • 5. FIWARE Lab Cloud Docker Hosting Overview • Docker Hub: cloud service for managing and sharing Docker container images, including FIWARE services, i.e. Generic Enablers (GEs) (http://catalogue.fiware.org/enablers); • Docker Engine: creates and runs Docker containers; pulls/pushes images from/to Docker Hub; • Docker Compose: defines and runs multi-container applications;. • Docker Swarm: manages a pool of Docker hosts using the full suite of Docker tools. Because Docker Swarm serves the standard Docker API, any tool that already communicates with a Docker daemon, e.g. Docker-Compose, can use Swarm to transparently scale to multiple hosts. • Docker Machine: creates and manages Docker hosts locally or on cloud providers (including OpenStack). It can be used to create and manage Docker swam clusters. • FIWARE Lab Docker Hosting: Docker Containers, Docker machines, and Docker Swarm clusters can be hosted on the FIWARE lab, but remotely created and managed by local Docker clients; 5
  • 6. Simple Docker hosting on FIWARE Remotely Managed by Docker Client …… Region …. Region …. client client docker-engine docker-machine docker-compose docker-swarm docker api, openstack api, ssh any tool based on docker-apidocker cli
  • 7. Set up steps 1. Sign up fiware account (https://account.lab.fiware.org/sign_up/) 2. (Optionall) Request Community Upgrade 3. The orgranization automatically associated with your account must be able to allocate at least on floating point IP and access at least one FIWARE region. You can create other organizations. 4. In Cloud service – Create Security Group that exposes ports for daemon, ssh, and any other ports that are required. – Allocated a floating point IP 5. Install docker and docker machine on your local computer 6. Use docker-machine to create hosts & swarm clusters on the desired FIWARE regions 7
  • 8.
  • 9.
  • 10. 10 FIWARE Set up: Add security group for docker-machine SSH: Port 22 Docker Daemon Port 2376 Docker Swarm Master Port: 3376 Auto allocated user ports: 32768- 33768 Other User Ports e.g. 8080
  • 11. 11 FIWARE set up: Allocate at least one public ip
  • 12. 12 docker-machine create docker host on FIWARE export OS_REGION_NAME=<fiware region> #e.g. 'Spain2’ export OS_TENANT_NAME=<user’s organization> #e.g. ‘username cloud’ export OS_USERNAME=<user’s email address> #e.g. ‘username@gmail.com’ export OS_PASSWORD=<user’s password> Export OS_DOMAIN_NAME=‘default’ export OS_AUTH_URL='http://cloud.lab.fi-ware.org:4730/v2.0/' export OS_AUTH_STRATEGY='keystone'
  • 13. 13 docker-machine create docker host on fiware $ docker-machine create -d openstack --openstack-flavor-id="2“ --openstack-image-name=“base_Ubuntu_14.04” --openstack-net-name="node-int-net-01" --openstack-floatingip-pool="public-ext-net-01" --openstack-sec-groups="docker-machine-sg" --openstack-ssh-user=“ubuntu” FIWARE-SPAIN2 Don’t forget to configure the security group with all necessary ports.
  • 14.
  • 16. >eval “$(docker-machine env FIWARE-SPAIN2)” >docker info
  • 17. >eval $(docker-machine env FIWARE-SPAIN2) >docker run hello-world
  • 18.
  • 19. >eval $(docker-machine env FIWARE-SPAIN2) >docker-compose up –d >docker-compose ps curl <FIWARE-SPAIN2 IP>:<EXPOSED PORT> >curl <FIWARE-SPAIN2 IP>:<EXPOSED PORT>
  • 20.
  • 21. 21 Docker create swarm container Save token in $TOKEN > docker
  • 22. 22 Docker Swarm: create master >export OS_REGION_NAME=Spain2 >docker-machine create -d openstack --openstack-flavor-id="2" --openstack-image-id=“base_Ubuntu_14.4” --openstack-net-name="node-int-net-01" --openstack-floatingip-pool="public-ext-net-01“ --openstack-sec-groups="docker-machine-sg" --openstack-ssh-user=“ubuntu” --swarm --swarm-master --swarm-discovery token://$TOKEN FIWARE-SPAIN2
  • 23. 23 Docker Swarm: create agent >export OS_REGION_NAME=Crete >docker-machine create -d openstack –-openstack-flavor-id="2" --openstack-image-id=“base_Ubuntu_14.4” --openstack-net-name="node-int-net-01" --openstack-floatingip-pool="public-ext-net-01" --openstack-sec-groups="docker-machine-sg“ --openstack-ssh-user=“ubuntu” --swarm --swarm-discovery token://$TOKEN FIWARE-Crete
  • 25. >eval “$(docker-machine env --swarm FIWARE-SPAIN2)” >docker info
  • 26. >eval $(docker-machine env --swarm FIWARE-SPAIN2) >docker run hello-world >docker ps -a
  • 27. >eval $(docker-machine env --swarm FIWARE-SPAIN2) >docker-compose up -d >docker ps >curl http://147.27.60.99:32768/employees/resources/employees/
  • 28. >eval $(docker-machine env --swarm FIWARE-SPAIN2) >docker-compose stop >docker-compose ps
  • 29. Limitations •labor-intensive for non-trivial environments •security •multi-tenancy •scalability •manageability •limited Docker features (storage, network, etc) •not production-ready (high availability, etc)