refactor(container): streamline container command execution

Simplified the process of constructing and executing container commands
to enhance maintainability and reduce redundancy.

- Removed redundant appending of image_tag and action to docker_opts in
  run.cr.
- Modified command construction in docker_engine.cr to use pre-built cmd
  array, enhancing clarity.
- Updated podman_engine.cr to utilize cmd array for process execution,
  ensuring consistency across container engines.

Signed-off-by: Glenn Y. Rolland <glenux@glenux.net>
This commit is contained in:
Glenn Y. Rolland 2025-03-27 20:10:35 +01:00
parent e59ea9ff44
commit 8d4ce99922
3 changed files with 3 additions and 6 deletions

View file

@ -182,11 +182,8 @@ module DocMachine::Build
Log.info { "Slides: no slides directory detected." }
end
docker_opts << @config.image_tag
docker_opts << @config.action
Log.info {
docker_str = [@config.container_runtime].concat(docker_opts).join(" ").colorize(:yellow)
docker_str = [@config.container_runtime, "run"].concat(docker_opts).join(" ").colorize(:yellow)
"#{@config.container_runtime.capitalize}: #{docker_str}"
}

View file

@ -57,7 +57,7 @@ module DocMachine::Container
Log.debug { "Docker run command: #{cmd.join(" ")}" }
# Start the Docker container process
process = Process.new("docker", ["run"] + docker_opts + [image_tag, action], input: STDIN, output: STDOUT, error: STDERR)
process = Process.new(cmd.first, cmd.skip(1), input: STDIN, output: STDOUT, error: STDERR)
Log.info { "Docker container #{docker_name} started." }

View file

@ -55,7 +55,7 @@ module DocMachine::Container
Log.debug { "Podman run command: #{cmd.join(" ")}" }
# Start the Podman container process
process = Process.new("podman", ["run"] + docker_opts + [image_tag, action], input: STDIN, output: STDOUT, error: STDERR)
process = Process.new(cmd.first, cmd.skip(1), input: STDIN, output: STDOUT, error: STDERR)
Log.info { "Podman container #{docker_name} started." }