View all files | ||||
This project provides a Python Flask Docker image for development purposes.
View Dockerfile on GitHub.
In case you seek help, go and visit the community pages.
| devilbox.readthedocs.io | gitter.im/devilbox | devilbox.discourse.group |
Rolling tags are updated and pushed nightly to ensure latest patch-level Python version.
| 3.8-dev | Latest 3.8.x |
| 3.7-dev | Latest 3.7.x |
| 3.6-dev | Latest 3.6.x |
| 3.5-dev | Latest 3.5.x |
| 2.7-dev | Latest 2.7.x |
Release tags are fixed and bound to git tags.
| 3.8-dev-<git-tag> | Latest 3.8.x |
| 3.7-dev-<git-tag> | Latest 3.7.x |
| 3.6-dev-<git-tag> | Latest 3.6.x |
| 3.5-dev-<git-tag> | Latest 3.5.x |
| 2.7-dev-<git-tag> | Latest 2.7.x |
For easy usage, there is a Docker Compose example project included.
| FLASK_PROJECT | Yes | The sub-directory name under /shared/httpd/ to serve [1] | |
| FLASK_APP_DIR | app | The main entrypoint dir name | |
| FLASK_APP_FILE | main.py | The main entrypoint file name | |
| FLASK_PORT | 3000 | Docker container internal http port to serve the application | |
| NEW_UID | 1000 | User id of the host system to ensure syncronized permissions between host and container | |
| NEW_GID | 1000 | Group id of the host system to ensure syncronized permissions between host and container |
The following shows how to organize your project on the host operating system.
The following is the least required directory structure:
The following directory structure allows for auto-installing Python dependencies during startup into a virtual env.
After you've started the container with a requirements.txt in place, a new venv/ directory will be added with you Python virtual env.
When using this image, you need to mount your project directory into /shared/httpd/ into the container:
If your local uid or gid are not 1000, you should set them accordingly via env vars to ensure to syncronize file system permissions across the container and your host system.
Copyright (c) 2019 cytopia