class DockerModule(): def __init__(self): try: self.client = Client(base_url="tcp://192.168.0.2:2376", version="auto") except Exception as e: print "Falhou ao conectar no Docker %s", e def listContainers(self): container = self.client.container(all=True) return container
class DockerModule(SSHModule): def __init__(self): try: self.cli = Client(base_url="tcp://192.168.0.2:2376") SSHModule.__init__(self) except Exception as e: print "Falhou ao conectar com o servidor ",e def createContainer(self,name): try: print "[+] Criando o container ",name container = self.cli.create_container( name=name, image="ubuntu", command="/bin/bash", tty=True, detach=True, stdin_open=True) self.cli.start(container=container.get("Id")) print "[+] Container criado e sendo executado " except Exception as e: print "Falhou ao criar o container",e def getIPContainer(self,name): try: container_id = [ c.get("Id") for c in self.cli.container(all=True) if c.get("Names") == "/"+name ][0] container = self.cli.inspect_container(container_id) print "IP Address: ",container.get("NetworkSettings").get("Networks").get("bridge").get("IPAddress") except Exception as e: print "Falhou ao buscar informacoes do container: ",e def exec_command(self,container,cmd): try: print "[+] Running command: ",cmd command = "docker exec %s %s"%(container,cmd) print self.execCommand(command) except Exception as e: print "Falhou ao executar o comando: ",e
class DockerModule(): def __init__(self): self.cli = Client(base_url="tcp://192.168.0.2:2376", version="auto") def createContainer(self, name): container = self.cli.create_container(image="ubuntu", command="/bin/bash", detach=True, name=name, tty=True, stdin_open=True) def startContainer(self, container): # help(self.cli) container = [ c.get("id") for c in self.cli.container(all=True) if min(c.get("Names") == "/" + container) ] self.cli.start_container(container=min(container)) print "[+] Endereco do container %s" % (self.cli.inspect_container( min(container)).get("NetworkSettings").get("Networks").get( "bridge").get("IPAddress"))