I use docker for distributing scientific software (text / natural language processing). It is great to have a single simple command to let users automatically pull and run a container, and then access it through a port from an R or python script. So, for me the easy distribution through docker hup is a great asset.
For processing text with specific tools (such as chilland/corenlp-docker for English or proycon/LaMachine for Dutch) users need to install and link these images. For example, I now have the following instructions (on https://github.com/vanatteveldt/nlpipe) to setup and link corenlp to my ‘nlpipe’ server:
$ docker run --name corenlp -dp 9000:9000 chilland/corenlp-docker
$ docker run --name nlpipe --link corenlp:corenlp -e “CORENLP_HOST=http://corenlp:9000” -dp 5001:5001 vanatteveldt/nlpipe
It would be great if I can replace this with a single instruction, and that seems to be exactly what docker-compose does. However, I don’t think you can distribute compose files as easily as docker images, right? (so I would have to ask users to download the compose file and run docker-compose up).
If not, can the new distributed application bundles be distributed through e.g. docker hub, such that installing and running them becomes a single easy command, and ideally a simple graphical instruction for windows?