comparison scriptrunner.py @ 4:ea796129e49b draft

planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit 5461ea5e1f5c935551d37d1a888892146549dcb2
author mvdbeek
date Fri, 08 Jul 2016 17:17:30 -0400
parents e1f5be390bc3
children db65a7426ac7
comparison
equal deleted inserted replaced
3:e1f5be390bc3 4:ea796129e49b
60 binds[host_path]={'bind':container_path, 'ro':ro} 60 binds[host_path]={'bind':container_path, 'ro':ro}
61 return binds 61 return binds
62 62
63 def switch_to_docker(opts): 63 def switch_to_docker(opts):
64 import docker #need local import, as container does not have docker-py 64 import docker #need local import, as container does not have docker-py
65 current_user = getpass.getuser()
66 user_id = os.getuid() 65 user_id = os.getuid()
67 group_id = os.getgid() 66 group_id = os.getgid()
68 docker_client=docker.Client() 67 docker_client=docker.Client()
69 toolfactory_path=abspath(sys.argv[0]) 68 toolfactory_path=abspath(sys.argv[0])
70 binds=construct_bind(host_path=opts.script_path, ro=False) 69 binds=construct_bind(host_path=opts.script_path, ro=False)
82 image_exists = [ True for image in docker_client.images() if opts.docker_image in image['RepoTags'] ] 81 image_exists = [ True for image in docker_client.images() if opts.docker_image in image['RepoTags'] ]
83 if not image_exists: 82 if not image_exists:
84 docker_client.pull(opts.docker_image) 83 docker_client.pull(opts.docker_image)
85 container=docker_client.create_container( 84 container=docker_client.create_container(
86 image=opts.docker_image, 85 image=opts.docker_image,
87 user=current_user,
88 volumes=volumes, 86 volumes=volumes,
89 command=cmd 87 command=cmd
90 ) 88 )
91 docker_client.start(container=container[u'Id'], binds=binds) 89 docker_client.start(container=container[u'Id'], binds=binds)
92 docker_client.wait(container=container[u'Id']) 90 docker_client.wait(container=container[u'Id'])