docker-luigi
docker-luigi copied to clipboard
🐍 🐳 Luigi in Docker - alpine and ubuntu images available
Luigi on Docker
In addition to supporting the sqlite
task history backend, this container includes all of the dependencies to use the mysql
and postgresql
backends.
Versions
alpine
Uses pip
to install luigi
and dependencies
-
axiom/docker-luigi:latest-alpine
(2.8.13) -
axiom/docker-luigi:{version}-alpine
baseimage (ubuntu xenial)
Uses conda
to install luigi
and dependencies
-
axiom/docker-luigi:latest
(2.8.13) -
axiom/docker-luigi:{version}
Exposed Volumes
/etc/luigi/
Both luigi
and luigid
load their configuration from /etc/luigi/
.
- Configuration:
/etc/luigi/luigi.conf
- Logging:
/etc/luigi/logging.conf
Mount a directory containing a luigi.conf
and logging.conf
file(s) to
/etc/luigi
to provide your own configuration(s).
docker run \
-v /your/directory:/etc/luigi \
axiom/docker-luigi
Or mount a single configuration file:
docker run \
-v /your/directory/logging.conf:/etc/luigi/logging.conf \
axiom/docker-luigi
The default can be found in the luigi.conf
and logging.conf
files in this
repository. Be aware that these specify the paths to the logging configration
and the state persistence database. If you change these values in luigi.conf
the examples in this document will not work!
/luigi/state
Mount a volume at /luigi/state
for the luigid
state to be persisted
between restarts. Example below uses a named docker volume to persist the state:
docker run \
-v luigistate:/luigi/state \
axiom/docker-luigi
Testing
docker-compose -f tests/docker-compose.yml up -d maria pgsql
# Wait ~10s for databases to start
docker-compose -f tests/docker-compose.yml build
docker-compose -f tests/docker-compose.yml up
docker-compose down