docker-compose
Mainly used for creating a system from multiple images. You still use Dockerfile's to specify each image. I will present a real example here.
debugging
Here is a useful tip, while working on the internet.nl assignment.
- docker-compose up # starts up all 4 apps
- docker-compose up postgres redis rabbitmq # starts only these 3
- docker-compose up app # starts the main app alone
- docker-compose up # tries all, but skips them when already up
- docker-compose run app # this start the entrypoint but prints much more output (all your print's)
- docker-compose run -entrypoint sh # starts a shell, and you can run docker/entrypoint manually
- either as ./docker/entrypoint
- or as ./manage.py runserver # but you need to start celery manually as well !
Those are progressively more bare-metal steps to debug.