2.11. Creating a Development Server using DockerΒΆ
You may use Docker to create a set of containers that run a development server. The file docker-compose.yml
and the folder docker
contains the configuration files to create the required images and instantiate them as containers. The current configuration creates the following containers:
- OnTask Server
Built on top of an ubuntu instance with Python 3, Django and Apache installed. The application is installed internally on port 80 in the container mapped to port 8080 of the local machine.
- Message Queue
Built on top of an ubuntu instance with Python 3, Django and an the OnTask source code. It executes a Celery daemon to receive execution requests.
- Relational Database
Built on top of the latest postgres docker image. It contains the database server with the data being stored in a separated volume (preserved among executions).
- Redis
Built on top of the latest redis docker image. It contains the cache server and broker for the message passing between Django and Celery.
The file docker-compose.yml
contains the parameters to build the four containers and start the execution of OnTask.
After installing the Docker environment in your computer and creating the configuration file for the server running in the container, the sequence of commands to start the server is:
docker-compose build
docker-compose up
The process creates the containers and the server will be accessible through port 8080 in the host machine.