marvis.command_executor.docker

Execute commands in docker containers.

Classes

DockerCommandExecutor

The DockerCommandExecutor runs commands in a Docker container.


class marvis.command_executor.docker.DockerCommandExecutor(name, container: docker.models.containers.Container)[source]

Bases: marvis.command_executor.base.CommandExecutor

The DockerCommandExecutor runs commands in a Docker container.

Parameters
  • name (str) – The name of the command executor.

  • container (str) – The container to run the commands in.

container

The container to run the commands in.

execute(command, user=None, shell=None, stdout_logfile=None, stderr_logfile=None)[source]

Execute a command.

Parameters
  • command (str) – The command to run.

  • user (str) – The user to run the command as.

  • shell (str) – The type of shell to use (sh, bash, …).

  • stdout_logfile (str) – The path to the log file to append the stdout output.

  • stderr_logfile (str) – The path to the log file to append the stderr output.

get_logger()

Retrieve the logger for this command executor.

name

The name of the CommandExecutor.

counter

A counter for loggers.

Inheritance Diagramm

Inheritance diagram of marvis.command_executor.docker