A library for packaging dependencies and launching scripts (with a focus on python) on different platforms using Docker. Currently supported platforms include AWS (in development), GCP, and remotely via SSH.
doodad is designed to be as minimally invasive as possible - most code can be run without any modifications.
See the quickstart guide for a quick tutorial.
-
Install Python 2.7+ or Python 3.6+. doodad currently supports both.
-
Install Docker CE.
-
Add this repo to your pythonpath.
export PYTHONPATH=$PYTHONPATH:/path/to/this/repo
- Install dependencies
pip install -r requirements.txt
- (Optional) Set up EC2
python scripts/ec2_setup.py
Launching commands is very simple with doodad. The following script will launch a docker container and execute the command echo helloworld
:
from doodad.launch import launch_api
launch_api.run_command('echo helloworld')
To launch a python program, specify the path to the script.
from doodad.launch import launch_api
launch_api.run_python('path/to/my/python/script.py')
EC2 code is based on rllab's code.