def createContainer(self, portsBindings, binds, ports, command, dns, env):
     if binds == None:
         binds = {}
     if portsBindings == None:
         portsBindings = {}
     if dns == None:
         dns = []
     if env == None:
         env = []
     sysliteInstance = util.getInstanceName()
     env.append('SYSLITE_NAME='+str(self.container).lower())
     dnsport = self.dockerAPI.client.create_host_config(
         port_bindings=portsBindings,
         binds=binds,
         dns=dns
     )
     container = self.dockerAPI.client.create_container(
         detach=True, ports=ports, environment=env,
         name=self.container, host_config=dnsport,
         image=self.image, command=command, labels={
             "Syslite_Managed_By":sysliteInstance,
             "Syslite_Name":self.container,
             "Syslite_Tab":str(self.tab)
         }
     ).get('Id')
     return container
Example #2
0
 def terminate_containers(self, data):
     sysliteInstance = util.getInstanceName()
     for container in self.dockerAPI.client.containers(filters={'status':'running'}):
         if 'Syslite_Managed_By' in container['Labels']:
             Id = container['Id']
             instance = container['Labels']['Syslite_Managed_By']
             if instance == sysliteInstance:
                 self.socket.log('Stopping container {0}...'.format(Id))
                 self.dockerAPI.client.stop(Id)
     self.socket.log('Environment shutdown complete')