Docker
- Some experiences when using docker
Toni Ristola
Where to Start
- Selecting base image
- Configure your app for docker?
- How to map networkig
- Possibilities for orchestration
Running with the containers in production
- You need your own repository
- Configuration management
What Is Docker
It is an engine to package and run linux containers.
Why it is so popular
- Lightweight compared to other virtualization
- Easy to use for devs/admins
Base Image selection
Using same base image reduces hard disk space taken by containers, only changes are stored
- Use minimal image if possible
- Use same image for all apps
- Base image for JDK/NodeJS
- Security updates to base image
configuration
Use volumes for files having content or configuration
- Config files outside the docker image as volumes
- Storage files/Database files to a volume
- File permissions might change when running with docker
Docker networking
For development exposing container port to the host is simplest.
You can link the containers to each other
Orchestration tools
- Fig
- Kubernetes
- Apache Mesos
- Fleet
- Libswarm (library)
fig
- Orchestration for docker
- done with python
- Nice to run multiple containers when developing