From FIWARE Forge Wiki
Guidelines for GEi Dockerization (Containerization)
This page summarizes Guidelines for providing Docker Containers for FIWARE GEis. Click here for an introduction to Docker.
There are three kinds of guidelines included:
- MUST Guidelines. They are mandatory and your GEi project must conform to that.
- SHOULD Guidelines. They are not mandatory but highly recommended.
- MAY Guidelines. They are nice to have.
- At least one Dockerfile (hereby named as 'reference Dockerfile'), intended to GEi users, MUST be provided. The base image (Ubuntu, CentOS, etc.) for such a Dockerfile might depend on each GE.
- Hacker-oriented Dockerfiles (intended to GEi developers) MAY be provided as well.
- Each Docker container MUST define the following tags (present at Dockerhub):
- 'latest': It will correspond to the latest stable release of the GEi.
- 'develop': It will correspond to the latest build (latest code snapshot) of the GEi. It might not be stable.
- '<release n>': one tag per relevant and active stable release. The name of the tag will correspond to the name assigned to the release in Github.
- The reference Dockerfile MUST be present under the 'docker' folder of the GEi repository
- Should your GEi depend on other components (Databases, etc.) you MUST provide a docker-compose.yml file that will allow to instantiate the GEi together with its dependencies.
- A README.md MUST be provided under the docker folder. Such a README MUST give instructions about how to work with the corresponding Docker container. Please bear in mind that such a README will also be included as part of the Dockerhub documentation.
- A GEi's Docker MUST be published at least under the 'fiware' account on DockerHub (if possible, please avoid the term 'fiware' in your repository name, as the username already contains it). The GEi owner will be responsible for publication and maintenance operations. The publication method will be through the 'Automatic Build Procedure' which allows to link a Github repository to a Dockerhub one (and keep them in sync). In order to get access to that account and proceed with the publication, please get in touch with José Manuel Cantera.
- Dockerfiles and Dockerhub repositories MUST be linked from the FIWARE Catalogue according to the Guidelines defined by the FIWARE Catalogue .
- GEi Documentation MUST have Docker references (preferably through a link to the formerly mentioned README file)
- Docker containers MUST be tested before being published to the community. Error in Docker materials of a GEi will be considered as critical and MUST be fixed immediately.
- Dockerfiles SHOULD follow best practices as described here
Should you have any question please ask José Manuel Cantera or Leandro Guillén