docker-parallel-pull

command module
v0.0.0-...-9de22c6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2025 License: Unlicense Imports: 8 Imported by: 0

README ΒΆ

🐳 Docker Parallel Pull

Pull multiple Docker images in parallel with retry logic and security features.

πŸš€ Usage

# Basic usage (uses config.yaml)
go run main.go

# Use custom config file
go run main.go custom-config.yaml

βš™οΈ Configuration

Configuration is managed through YAML files only. The application looks for config.yaml by default, or you can specify a custom config file as the first argument.

πŸ“ Files

containers.yaml:

images:
  - alpine:latest
  - nginx:stable
  - redis:7-alpine

config.yaml:

container_file: "containers.yaml"
max_concurrency: 5
timeout: "5m"
max_retries: 3
retry_delay: "2s"
cleanup_after_test: true
show_pull_detail: false
show_progress: true
output_format: "text"
Configuration Options
Option Default Description
container_file containers.yaml πŸ“„ Container images file
max_concurrency 5 πŸ”„ Max concurrent pulls
max_retries 3 πŸ” Max retry attempts
timeout 5m ⏱️ Timeout per pull
retry_delay 2s ⏳ Base delay between retries
output_format text πŸ“Š Output format (text/json)
show_pull_detail false πŸ” Show detailed output
cleanup_after_test true πŸ—‘οΈ Remove images after pull
show_progress true πŸ“ˆ Show progress bar

✨ Features

  • πŸ”„ Parallel image pulling with concurrency control
  • πŸ” Exponential backoff retry logic
  • πŸ“ˆ Real-time progress tracking
  • πŸ”’ Security validation (path traversal, input validation)
  • πŸ›‘οΈ Resource limits (file size, image count, timeouts)
  • πŸ“Š JSON and text output formats

πŸ“‹ Requirements

  • Go 1.24+
  • Docker daemon running

πŸ“ License

MIT

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL