CapiTainS suite docker image
This repository contains resource to run CapiTainS web services and frontend using docker, which means you'll only need to perform few commands to install these resources. Good bye Python issues, Gunicorn and Apache headache, welcome Docker !
Docker basics commands and vocabulary
- Image : A docker image is a skeletton for running software without having to install anything except docker. It's a specific state of a container.
- Container : A container is an instance, a running application, of a docker image.
- Local Build of the image (advanced users only)
docker build .in this directory
Creating a container
- Replace /path/to/ by your own absolute path to given directory.
- If you used a local build, save the hash given at the end of the build (such as
475d347abade). If you do not understand this sentence, do not worry, docker will download the latest version of the source image.
- If you do not have any resources, we advice to run locally the following commands :
sh download-perseus-csel.shwill download zipped repositories of Perseus Greek and Latin litterature and the CSEL repository of the Open Greek and Latin project
sh unzip-corpora-local-volumewill unzip downloaded repositories in the repository folder.
docker run -i -p 8080:80 --name capitains -v /path/to/volumes/repositories:/opt/data -v /path/to/volumes/cache:/opt/cache capitains/nemo-nautilus:latestwill run and pull the docker instance
-dwill run docker as a daemon. Instead of seeing the log as an interactive application, the docker instance will be run locally
-p 8080:80tunnels the host machine
80port on the docker container.
-v /first/path:/second/pathcreates a data volumes and forwards
/first/path(on your machine) to
/second/path(on the docker container). We used it for cache and repositories so that maintenance and evolution is easily done outside containers. It also enables data volume sharing for multiple containers.
--name capitainsnames your container capitains. If you want to have multiple containers, change the name.