Whitepapers
MySQL on Docker – how to containerize your database
This white paper covers the basics you need to understand when considering to run a MySQL service on top of Docker container virtualization. And although Docker can help automate deployment of MySQL, the database still has to be managed and monitored. ClusterControl by Severalnines can provide a complete operational platform for production database workloads.
What we’ll cover in this white paper
- 1. Introduction
- 2. Introduction to Docker
- 2.1. Concept
- 2.2. Components
- 2.3. Benefits
- 2.4. Installation
- 3. MySQL Images
- 3.1. Commit changes of a container
- 3.2. Using Dockerfile
- 3.3. Building the Image
- 3.4. Sharing the Image
- 3.5. Best Practice for MySQL
- 4. Networking in Docker
- 4.1. Host Network
- 4.2. Bridge Network
- 4.2.1. Default Bridge
- 4.2.2. User-defined Bridge
- 4.3. Multi-host Network
- 4.3.1. Default Overlay
- 4.3.2. User-defined Overlay
- 4.4. Network Plugins
- 4.5. Accessing the MySQL Containers
- 4.5.1. Container’s exposed port
- 4.5.2. Container’s published port
- 4.5.3. Attaching to the active container
- 5. MySQL Container and Volume
- 5.1. Running a Single MySQL Container
- 5.2. Running Multiple MySQL Containers
- 5.3. Container Layer Changes
- 5.4. MySQL Persistency
- 5.5. Docker Volume
- 5.5.1. Persistent Volume
- 5.5.2. Non-Persistent Volume
- 5.5.3. Remote Volume
- 5.6. Volume Drivers
- 5.7. Performance Tradeoff
- 6. Monitoring and Management
- 6.1. Service Control
- 6.2. Resource Control
- 6.3. Resource Monitoring
- 6.4. Configuration Management
- 6.5. Security
- 6.5.1. Unprivileged Container
- 6.5.2. Privileged Container
- 6.6. Backup and Restore
- 6.6.1. Backup
- 6.6.2. Restore
- 6.7. Upgrades
- 6.7.1. Logical Upgrade
- 6.7.2. In-Place Upgrade
- 6.8. Housekeeping
- 7. ClusterControl on Docker
- 7.1. Running ClusterControl as Docker Container
- 7.2. Automatic Database Deployment
- 7.3. Manual Database Deployment
- 7.4. Add Existing Database Containers
- 8. Summary