Public | Automated Build

Last pushed: 2 years ago
Short Description
Short description is empty for this repo.
Full Description

Plato Taverna Docker Image

The planning tool Plato is a decision support tool that implements a solid preservation planning process and integrates services for content characterisation, preservation action and automatic object comparison in a service-oriented architecture to provide maximum support for preservation planning endeavours.

Preservation action, characterisation and quality assurance services can be based on SCAPE Components. These annotated Taverna workflows provide a uniform interface for Plato to combine and execute SCAPE Components for planning experiments and to create an Executable Plan as part of the Preservation Plan. Taverna allows calling external tools and services, scripts and other useful functions and combine them in a graphical interface in the Taverna Workbench. Plato uses the Taverna Command Line Tool to execute preservation experiments.

To isolate experiments from the host and each other Taverna can be executed in a Docker container. This repository contains a Dockerfile for a container with Taverna Command Line and SCAPE Components to execute preservation experiments in Plato.

Installation

Pull the image from the Plato Taverna Docker index. The image is build automatically from the Plato Taverna Docker GitHub repository.

docker pull datascience/plato-taverna-docker:latest

Alternatively you can build the image locally using

docker build --tag="$USER/gitlab" .

Use --no-cache to avoid hitting docker's cache when rebuilding the image. This ensures that the image is built from the newest version of the base image and that the newest versions of the components are installed.

Running the image

To execute the image run

docker run --rm datascience/plato-taverna-docker:latest executeworkflow [parameters]

This runs Taverna's executeworkflow binary in the container just like the local Taverna Command Line Tool. To simplify this, you can add a wrapper script to your path.

Taverna is executed as user taverna with UID 2000 and group taverna with GID 2000.

Folders can be mounted into the container as volumes to provide access to files on the host. Since docker shares file UIDs/GIDs with the host, make sure that a user with UID 2000 and GID 2000 has access to relevant files.

docker run --rm -v /tmp:/tmp -v /home/taverna:/home/taverna datascience/plato-taverna-docker:latest executeworkflow [parameters]

Interactive access

To gain interactive access to the image, run /bin/bash in an interactive docker container

docker run --rm -i -t datascience/plato-taverna-docker:latest /bin/bash

You can get root access by overriding the user set in the Dockerfile

docker run --rm -i -t -u root datascience/plato-taverna-docker:latest /bin/bash

Running as normal user

Docker requires root access to run a container. If your distribution supports sudo you can avoid entering a password by explicitely allowing docker run with this image and predefined parameters without a password. To allow members of the group plato-taverna-docker running the container without password create a file /etc/sudoers.d/plato-taverna-docker using

visudo -f /etc/sudoers.d/plato-taverna-docker

and add the following line

%plato-taverna-docker ALL=(root) NOPASSWD: /usr/bin/docker run --rm datascience/plato-taverna-docker\:latest executeworkflow *
Docker Pull Command
Owner
datascience

Comments (0)