taverna-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stian Soiland-Reyes <st...@apache.org>
Subject Re: Finalize Docker Invoke JSON format
Date Sat, 04 Jun 2016 10:39:18 GMT

I think we can assume that docker images are in the registry, although I
know it's possible to specify alternate registries as well, which is useful
for commercial entities. In could even be possible to store a custom docker
image within the Taverna wfbundle zip, although it would make it ginourmous
;) ,-- so let's start by assuming a public image in the Docket hub,
probably versioned.

Secondly, no, I don't think we can assume the container exists, as
workflows can be shared. A good motivator for the functionality you are
building is that a Taverna workflow that relies on command line tools can
be shared with others who don't have those tools already installed (in
expected location, path etc).

I think for many use cases the container Name is not important and can be
new for every executions, e.g. let Docker assign it's usual Jolly Badger
style names.

What is the Docker API for setting up a container? Do you need to pull the
images first? It would be cool if we can pull at the beginning of a
workflow run (e.g. asynchronously when an Activity is configured) so that
does not need to delay execution at a later step.

We will probably need a volume mount of a temporary directory, so that
input and output files can be provided to the command, but if you prefer it
might be easier to start with stdin and stdout support; similar to the Tool
On 4 Jun 2016 5:10 a.m., "Nadeesh Dilanga" <nadeesh092@gmail.com> wrote:

> Hi all,
> I am starting this thread to discuss and finalize the docker commands we
> need to expose for client side(Taverna).
> Latest stable docker remote API is version 1.23[1]. And it has several APIs
> that can be useful.
> The original JIRA [2] mentioned about the JSON format to a docker run. I
> hope it meant about the docker config.json ?
> Because, given we use remote APIs, I would like to know what are the
> expectations are ?
> 1. Do we assume that Images are created and published to the registry.
> 2. Do we assume that docker container is created
> Given #1 and #2 done, then we are talking about starting the
> container(~docker run). If that is the case, when we use remote APIs we
> only need following, and no need of a JSON:
> Request: POST /containers/(id or name)/start
> Response: HTTP/1.1 204 No Content
> There are other responses too:
> Status Codes:
>    - *204* – no error
>    - *304* – container already started
>    - *404* – no such container
>    - *500* – server error
> [1] -
> https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message