My succint summary of the Docker best practices according to the link below.
- Containers should be ephemeral - it can be terminated and a new one launched with a minimum effort to set-up and configuration
- Use multi-stage builds to reduce image size
- Avoid installing unnecessary packages
- Each container should have only one concern
- Minimize the number of layers