docker_archive is being migrated here. For older images, please refer to the previous docker_archive project.
The dqd CLI (Go, in cli/) is for operating existing environments; it also runs without a repository checkout. Build and development workflows stay in Makefile. The legacy bash CLI is kept at bin/dqd-sh (deprecated, prints a warning).
go install github.com/ctrsploit/dqd/cli/cmd/dqd@latest
script/install_ssh_config.sh # optional: ssh aliases (ssh dqd-<image>) via the repo's keysFrom a checkout you can also make cli and put bin/dqd on PATH yourself; script/install_cli.sh (symlink into ~/.local/bin) is deprecated.
script/install_ssh_config.sh copies the dqd SSH keys into ~/.ssh/keys and adds this repository's ssh_config/config as an Include in ~/.ssh/config — only needed for the ssh dqd-<image> aliases, the CLI's own dqd ssh <env> works without it.
dqd list
dqd ps
dqd ps vul
dqd info runc/v1.3.0
dqd up runc/v1.3.0
ssh dqd-runc-v1.3.0
dqd down runc/v1.3.0SSH aliases use the image name from each environment's .env with a dqd- prefix. For example, runc/v1.3.0 uses ssh dqd-runc-v1.3.0.
dqd up automatically uses docker-compose.kvm.yml when /dev/kvm exists and the environment has a KVM overlay. Use --kvm=false when you need to force non-KVM startup:
dqd up runc/v1.3.0 --kvm=falseThe Go CLI (cli/) runs environments without a repository checkout: each release binary embeds a config snapshot (every environment's docker-compose.yml, KVM overlays and the catalog index) generated at build time. Environments still execute their own compose files verbatim via docker compose.
go install github.com/ctrsploit/dqd/cli/cmd/dqd@latestOr download a release binary from releases (tagged cli-v*), or build from a checkout:
make cli # builds bin/dqd, refreshing the embedded snapshot firstAll three produce the same self-contained binary: the config snapshot (cli/internal/embedded/live/) is generated text, committed to the repository and verified by make check-catalog.
dqd list # component summary, offline from the embedded snapshot
dqd list runc # expand one component to its environment paths
dqd list --all # full dump (grep-friendly)
dqd up ubuntu/24.04 # materialize config -> docker compose up -d
dqd ready ubuntu/24.04 # wait for the VM's SSH endpoint
dqd ssh ubuntu/24.04 # interactive shell (no sshpass needed)
dqd ssh ubuntu/24.04 -- uname -a
dqd scp ./file ubuntu/24.04:/root/file # upload (env:path marks the VM side, like scp)
dqd scp ubuntu/24.04:/root/file ./file # download (-r for directories)
dqd ps
dqd down ubuntu/24.04The binary is stateless: running environments are discovered from the docker daemon via compose project labels, and SSH uses the dqd key (authorized in every image) with the environment's catalog credentials as fallback.
The embedded snapshot can drift behind the repository. When it does, the CLI asks (interactive terminals only; non-interactive runs keep the snapshot and print a notice):
remote config differs for ubuntu/24.04 (embedded f365dfeb, remote a1994be)
[r] use remote this time [e] keep embedded [R] always remote [E] always embedded
dqd updaterefreshes the remote catalog and re-fetches remote-cached environments;dqd update --checkonly reports differences.- Environment variables:
DQD_RAW_BASE(raw-content mirror, e.g. a ghproxy prefix),DQD_REF(git ref, defaultmain),GITHUB_TOKEN(private forks),DQD_CACHE/DQD_CONFIG(cache and config dirs),--no-update(never contact the remote for this run).
catalog.json at the repository root is the machine-readable index of all environments (regenerated by make generate-catalog, verified by make check-catalog). It is the remote source for update checks; commit it together with environment changes.
| image |
|---|
| ubuntu-12.04 |
| ubuntu-14.04 |
| ubuntu-16.04 |
| ubuntu-18.04 |
| ubuntu-20.04 |
| ubuntu-22.04 |
| ubuntu-22.04-dbg |
| ubuntu-24.04 |
| image |
|---|
| debian-11.0 |
| debian-12.0 |
| image |
|---|
| centos-8 |
| centos-stream9 |
| image |
|---|
| Be-a-Docker-Escaper |
| ctf-cve-2026-53488 |
| cve-2026-41567 |
| cve-2019-14271 |
| your-gpu-my-shell |
| image |
|---|
| podman-v5.4.0 |
| podman-v5.5.1 |
| podman-v5.5.1-debug |
| image |
|---|
| ingress-nginx-v1.11.3 |
| ingress-nginx-v1.11.4 |
| image |
|---|
| harbor-v2.15.2 |
| image |
|---|
| docker-compose-v2.40.2 |
| docker-compose-v2.40.1 |
| docker-compose-v2.40.0 |
| docker-compose-v2.39.4 |
| image | note |
|---|---|
| kubernetes-v1.36.4_containerd-v2.3.1_calico | calico installed |
| kubernetes-v1.36.4_containerd-v2.3.1_init | kubeadm init, without CNI |
| kubernetes-v1.36.4_containerd-v2.3.1_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.36.2_containerd-v2.3.0_calico | calico installed |
| kubernetes-v1.36.2_containerd-v2.3.0_init | kubeadm init, without CNI |
| kubernetes-v1.36.2_containerd-v2.3.0_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.35.1_containerd-v2.2.1_calico_debug | debug kubelet,containerd |
| image | note |
|---|---|
| kubernetes-v1.35.0_containerd-v2.2.0_calico_nerdctl-v2.2.0 | calico + nerdctl installed |
| kubernetes-v1.35.0_containerd-v2.2.0_calico | calico installed |
| kubernetes-v1.35.0_containerd-v2.2.0_init | kubeadm init, without CNI |
| kubernetes-v1.35.0_containerd-v2.2.0_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.34.0_containerd-v2.1.4_cluster | master + worker cluster |
| kubernetes-v1.34.0_containerd-v2.1.4_calico_nerdctl-v2.1.4 | calico + nerdctl installed |
| kubernetes-v1.34.0_containerd-v2.1.4_calico | calico installed |
| kubernetes-v1.34.0_containerd-v2.1.4_init | kubeadm init, without CNI |
| kubernetes-v1.34.0_containerd-v2.1.4_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.33.1_containerd-v2.1.0_calico_nerdctl-v2.1.1 | calico + nerdctl installed |
| kubernetes-v1.33.1_containerd-v2.1.0_calico_apparmor | calico + apparmor installed |
| kubernetes-v1.33.1_containerd-v2.1.0_calico | kubeadm init, with calico |
| kubernetes-v1.33.1_containerd-v2.1.0_init | kubeadm init, without CNI |
| kubernetes-v1.33.1_containerd-v2.1.0_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.33.3_containerd-v2.1.3_calico | calico installed |
| kubernetes-v1.33.3_containerd-v2.1.3_init | kubeadm init, without CNI |
| kubernetes-v1.33.3_containerd-v2.1.3_base | k8s components installed |
| kubernetes-v1.33.3_containerd-v2.1.2_calico | kubeadm init, with calico |
| kubernetes-v1.33.3_containerd-v2.1.2_init | kubeadm init, without CNI |
| kubernetes-v1.33.3_containerd-v2.1.2_base | k8s components installed |
| kubernetes-v1.33.3_containerd-v2.1.1_calico | kubeadm init, with calico |
| kubernetes-v1.33.3_containerd-v2.1.1_init | kubeadm init, without CNI |
| kubernetes-v1.33.3_containerd-v2.1.1_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.33.4_containerd-v2.1.4_calico | calico installed |
| kubernetes-v1.33.4_containerd-v2.1.4_init | kubeadm init, without CNI |
| kubernetes-v1.33.4_containerd-v2.1.4_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.33.7_containerd-v2.1.5_calico | calico installed |
| kubernetes-v1.33.7_containerd-v2.1.5_init | kubeadm init, without CNI |
| kubernetes-v1.33.7_containerd-v2.1.5_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.33.8_containerd-v2.2.1_calico_debug | debug kubelet,containerd |
| kubernetes-v1.33.8_containerd-v2.2.1_calico | calico installed |
| kubernetes-v1.33.8_containerd-v2.2.1_init | kubeadm init, without CNI |
| kubernetes-v1.33.8_containerd-v2.2.1_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.32.4_containerd-v2.0.4_calico_nerdctl-v2.0.4 | calico + nerdctl installed |
| kubernetes-v1.32.4_containerd-v2.0.4_calico | calico installed |
| kubernetes-v1.32.4_containerd-v2.0.4_init | kubeadm init, without CNI |
| kubernetes-v1.32.4_containerd-v2.0.4_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.32.3_containerd-v2.0.3_calico | calico installed |
| kubernetes-v1.32.3_containerd-v2.0.3_init | kubeadm init, without CNI |
| kubernetes-v1.32.3_containerd-v2.0.3_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.32.2_containerd-v2.0.4_init | kubeadm init, without CNI |
| kubernetes-v1.32.2_containerd-v2.0.4_base | k8s components installed |
| kubernetes-v1.32.2_containerd-v2.0.3_calico_nerdctl-v2.0.3 | calico + nerdctl installed |
| kubernetes-v1.32.2_containerd-v2.0.3_calico_debug | debug kubelet,containerd |
| kubernetes-v1.32.2_containerd-v2.0.3_calico | calico installed |
| kubernetes-v1.32.2_containerd-v2.0.3_init | kubeadm init, without CNI |
| kubernetes-v1.32.2_containerd-v2.0.3_base | k8s components installed |
| image | note |
|---|---|
| kubernetes-v1.31.0_containerd-v1.7.18_calico | k8s v1.31.0 with calico |
| kubernetes-v1.31.0_containerd-v1.7.18_init | kubeadm init |
| kubernetes-v1.31.0_containerd-v1.7.18_base | k8s v1.31.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.30.0_containerd-v1.7.15_calico | k8s v1.30.0 with calico |
| kubernetes-v1.30.0_containerd-v1.7.15_init | kubeadm init |
| kubernetes-v1.30.0_containerd-v1.7.15_base | k8s v1.30.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.29.0_containerd-v1.7.1_calico | k8s v1.29.0 with calico |
| kubernetes-v1.29.0_containerd-v1.7.1_init | kubeadm init |
| kubernetes-v1.29.0_containerd-v1.7.1_base | k8s v1.29.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.28.0_containerd-v1.6.21_calico | k8s v1.28.0 with calico |
| kubernetes-v1.28.0_containerd-v1.6.21_init | kubeadm init |
| kubernetes-v1.28.0_containerd-v1.6.21_base | k8s v1.28.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.27.0_containerd-v1.6.19_calico | k8s v1.27.0 with calico |
| kubernetes-v1.27.0_containerd-v1.6.19_init | kubeadm init |
| kubernetes-v1.27.0_containerd-v1.6.19_base | k8s v1.27.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.26.0_containerd-v1.6.9_calico | k8s v1.26.0 with calico |
| kubernetes-v1.26.0_containerd-v1.6.9_init | kubeadm init |
| kubernetes-v1.26.0_containerd-v1.6.9_base | k8s v1.26.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.25.0_containerd-v1.6.7_calico | k8s v1.25.0 with calico |
| kubernetes-v1.25.0_containerd-v1.6.7_init | kubeadm init |
| kubernetes-v1.25.0_containerd-v1.6.7_base | k8s v1.25.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.24.0_containerd-v1.6.4_calico | calico installed |
| kubernetes-v1.24.0_containerd-v1.6.4_init | kubeadm init |
| kubernetes-v1.24.0_containerd-v1.6.4_base | k8s v1.24.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.23.0_containerd-v1.5.2_calico | calico installed, requires cgroup v1 |
| kubernetes-v1.23.0_containerd-v1.5.2_init | kubeadm init, requires cgroup v1 |
| kubernetes-v1.23.0_containerd-v1.5.2_base | k8s v1.23.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.22.0_containerd-v1.5.2_calico | calico installed, requires cgroup v1 |
| kubernetes-v1.22.0_containerd-v1.5.2_init | kubeadm init, requires cgroup v1 |
| kubernetes-v1.22.0_containerd-v1.5.2_base | k8s v1.22.0 components installed |
| image | note |
|---|---|
| kubernetes-v1.21.1_containerd-v1.5.1_calico | calico installed, requires cgroup v1 |
| kubernetes-v1.21.1_containerd-v1.5.1_init | kubeadm init, requires cgroup v1 |
| kubernetes-v1.21.1_containerd-v1.5.1_base | k8s v1.21.1 components installed |
| image | note |
|---|---|
| kubernetes-v1.20.2_containerd-v1.4.0_calico | calico installed, requires cgroup v1 |
| kubernetes-v1.20.2_containerd-v1.4.0_init | kubeadm init, requires cgroup v1 |
| kubernetes-v1.20.2_containerd-v1.4.0_base | k8s v1.20.2 components installed |
| image | note |
|---|---|
| kubernetes-v1.19.1_containerd-v1.4.0_calico | calico installed, requires cgroup v1 |
| kubernetes-v1.19.1_containerd-v1.4.0_init | kubeadm init, requires cgroup v1 |
| kubernetes-v1.19.1_containerd-v1.4.0_base | k8s v1.19.1 components installed |
| image | note |
|---|---|
| kubernetes-v1.18.2-cluster | master + worker cluster, requires cgroup v1 |
| kubernetes-v1.18.2_containerd-v1.3.3_calico | calico installed, requires cgroup v1 |
| kubernetes-v1.18.2_containerd-v1.3.3_init | kubeadm init, requires cgroup v1 |
| kubernetes-v1.18.2_containerd-v1.3.3_base | k8s v1.18.2 components installed |