This tutorial will explain how you can easily setup your Docker environment to develop and deploy your services on the FIWARE Lab. One of the key take-aways of this tutorial is not only can you host and manage docker on FIWARE, but you can do this remotely from your local Docker client.
video version: https://www.youtube.com/watch?v=XlNI1YyQ8x8.
1. Docker hosting on FIWARE Lab
Remote management with local docker client
Kenneth Nagin
IBM
Cloud Chapter Lead, FIWARE
nagin@il.ibm.com
2.
3.
4.
5. 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;
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. 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
– Allocate a floating point IP
– Create Security Group that exposes ports for daemon, ssh, and any other
ports that are required.
5. Install docker and docker machine on your local computer
6. Use docker-machine to create hosts & swarm clusters on the desired FIWARE
regions
12. FIWARE set up: Create Security Group
Required:
• Docker Daemon Port 2376
• SSH: Port 22
Optional:
• Auto allocated user ports:
32768-33768
• Other User Ports e.g. 8080
• Docker Swarm Master Port:
3376
35. 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