Ejemplo n.º 1
0
 def up(self):
     if self.can_be_upped():
         for service in self.services:
             docker.pull_image(project_name=self.project_name,
                               service_name=service.service_name)
         docker.execute_compose_command(self.project_name,
                                        ["up", "--detach"])
Ejemplo n.º 2
0
 def scale(self, scale: int):
     docker.pull_image(project_name=self.project_name,
                       service_name=self.service_name)
     docker.execute_compose_command(
         self.project_name,
         [
             "up",
             "--detach",
             "--no-deps",
             "--scale",
             f"{self.service_name}={scale}",
             "--no-recreate",
             self.service_name,
         ],
     )
Ejemplo n.º 3
0
    def logs(self, lines=100, array=False) -> Union[List[str], str]:
        log_output = docker.execute_compose_command(self.project_name, [
            "logs", "--no-color", "--timestamps", f"--tail={lines}",
            self.service_name
        ],
                                                    debug=False)
        # make sure we are only dealing with \n
        log_output = log_output.replace("\r\n", "\n")
        # remove first line of logs (it's useless)
        log_output = log_output.split("\n")[1:]

        new_output = [
            recompose_log_line_with_formatted_date(line, "%m-%d %H:%M:%S")
            for line in log_output
        ]

        if array:
            return new_output
        else:
            return "\n".join(new_output)
Ejemplo n.º 4
0
 def restart(self):
     if self.can_be_restarted():
         docker.execute_compose_command(self.project_name, ["restart"])
Ejemplo n.º 5
0
 def rm(self):
     if self.can_be_removed():
         docker.execute_compose_command(self.project_name,
                                        ["rm", "--force"])
Ejemplo n.º 6
0
 def down(self):
     if self.can_be_downed():
         docker.execute_compose_command(self.project_name, ["down"])
Ejemplo n.º 7
0
def run_extra_command(project_name: str):
    if getattr(settings, "EXTRA_DOCKER_COMPOSE_COMMAND"):
        docker.execute_compose_command(
            project_name=project_name,
            args=settings.EXTRA_DOCKER_COMPOSE_COMMAND)
Ejemplo n.º 8
0
 def start(self):
     if self.can_be_started():
         docker.execute_compose_command(self.project_name,
                                        ["start", self.service_name])