diff --git a/job_conf.xml.sample_advanced b/job_conf.xml.sample_advanced index ffbb03cdb8c..e390afbfe26 100644 --- a/job_conf.xml.sample_advanced +++ b/job_conf.xml.sample_advanced @@ -154,6 +154,11 @@ are available to all jobs and $job_directory is also available for Pulsar jobs. --> + + diff --git a/lib/galaxy/tools/deps/containers.py b/lib/galaxy/tools/deps/containers.py index cf6e828f513..d5a823342e4 100644 --- a/lib/galaxy/tools/deps/containers.py +++ b/lib/galaxy/tools/deps/containers.py @@ -190,10 +190,12 @@ class DockerContainer(Container): volumes_raw = self.__expand_str(self.destination_info.get("docker_volumes", "$defaults")) # TODO: Remove redundant volumes... volumes = docker_util.DockerVolume.volumes_from_str(volumes_raw) + volumes_from = self.destination_info.get("docker_volumes_from", docker_util.DEFAULT_VOLUMES_FROM) return docker_util.build_docker_run_command( command, self.container_id, volumes=volumes, + volumes_from=volumes_from, env_directives=env_directives, working_directory=working_directory, docker_cmd=prop("cmd", docker_util.DEFAULT_DOCKER_COMMAND), diff --git a/lib/galaxy/tools/deps/docker_util.py b/lib/galaxy/tools/deps/docker_util.py index 8117ab13322..487bdc8fbb5 100644 --- a/lib/galaxy/tools/deps/docker_util.py +++ b/lib/galaxy/tools/deps/docker_util.py @@ -7,6 +7,7 @@ DEFAULT_VOLUME_MOUNT_TYPE = "rw" DEFAULT_WORKING_DIRECTORY = None DEFAULT_NET = None DEFAULT_MEMORY = None +DEFAULT_VOLUMES_FROM = None class DockerVolume(object): @@ -55,6 +56,7 @@ def build_docker_run_command( tag=None, docker_cmd=DEFAULT_DOCKER_COMMAND, volumes=[], + volumes_from=DEFAULT_VOLUMES_FROM, memory=DEFAULT_MEMORY, env_directives=[], working_directory=DEFAULT_WORKING_DIRECTORY, @@ -75,6 +77,8 @@ def build_docker_run_command( command_parts.extend(["-e", env_directive]) for volume in volumes: command_parts.extend(["-v", str(volume)]) + if volumes_from: + command_parts.extend(["--volumes-from", str(volumes_from)]) if memory: command_parts.extend(["-m", memory]) if name: