A CLI tool that simplifies extracting files from Docker and OCI container images without manual container creation.
dcp is a command-line utility that simplifies extracting files from OCI-based container images to the local filesystem. It eliminates the multi-step process of pulling images, creating containers, and using complex docker cp syntax by providing a single command to directly copy content from any container image.
Developers and DevOps engineers working with container images that store data like Kubernetes manifests (e.g., Operator Framework bundles, Crossplane packages) who need to frequently extract and inspect files without running containers.
Developers choose dcp over manual docker cp workflows because it provides a simple, direct interface that automates container creation and extraction steps, supports both Docker and Podman runtimes, and offers flexible path selection to avoid copying entire filesystems.
docker cp made easy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replaces the cumbersome multi-step docker cp process with a single command like `dcp <image-name>`, automating container creation and extraction as shown in the demo.
Allows specifying exact directories or files with the `-c` flag, preventing unnecessary copying of the entire image filesystem, as demonstrated in examples.
Automatically detects and works with either Docker or Podman sockets, with fallback options, ensuring compatibility across different container runtimes per the implementation notes.
Enables copying from private registries using `-u` and `-p` flags for authentication, though with security caveats mentioned in the README.
The `-u` and `-p` flags expose registry passwords in shell history, as acknowledged in the README, making it insecure for sensitive environments without manual login steps.
Relies on a tar library that can fail with symlinks, requiring users to specify paths with `-c` to avoid errors like 'trying to unpack outside of destination path,' as noted in the FAQ.
Lacks an `ls` or `inspect` command to view image contents; users must rely on external tools like dive to find file paths, as admitted in the FAQ.