|  | @@ -118,7 +118,7 @@ class DockerImage:
 | 
	
		
			
				|  |  |          repo_digest, = re.search(rb'^Digest: (sha\S+:\S+)$', out.getvalue(), re.MULTILINE).groups()
 | 
	
		
			
				|  |  |          return cls('{}@{}'.format(image, repo_digest.decode()))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def run(self, args=[], name=None, detach=False, publish_ports=[], caps=[]):
 | 
	
		
			
				|  |  | +    def run(self, args=[], name=None, detach=False, env={}, network=None, publish_ports=[], caps=[]):
 | 
	
		
			
				|  |  |          params = ['sudo', 'docker', 'run', '--rm']
 | 
	
		
			
				|  |  |          if name:
 | 
	
		
			
				|  |  |              params.extend(['--name', name])
 | 
	
	
		
			
				|  | @@ -126,6 +126,9 @@ class DockerImage:
 | 
	
		
			
				|  |  |              params.append('--detach')
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              params.extend(['--interactive', '--tty'])
 | 
	
		
			
				|  |  | +        params.extend([a for k, v in env.items() for a in ['--env', '{}={}'.format(k, v)]])
 | 
	
		
			
				|  |  | +        if network:
 | 
	
		
			
				|  |  | +            params.extend(['--network', network])
 | 
	
		
			
				|  |  |          params.extend('--publish=' + ':'.join([str(a) for a in p]) for p in publish_ports)
 | 
	
		
			
				|  |  |          params.extend(['--security-opt=no-new-privileges', '--cap-drop=all'])
 | 
	
		
			
				|  |  |          params.extend(['--cap-add={}'.format(c) for c in caps])
 |