host frame / guest box

The missing
verbs for
devcontainers.

  1. docker ok
  2. compose ok
  3. devcontainer.json found
  4. host ready

Official CLI has up and exec. This adds stop, ports, disk, fleet, and a clickable TUI. Does not edit project .devcontainer.

dc-tui

disk docker 42% · colima 61%

this folder
~/src/app
.devcontainer
YES
container
running 203467d30435
docker label
devcontainer.local_folder
host editor
(none) open uses this; attach needs VS Code

click a button · keys u e o a s x l f · q quit

  • app-1appup
  • db-1dbup
  • mitm-1mitmexited
$ ready — this folder · click start or press u
dc-tui dc-up dc-exec dc-down dc-forward dc-df dc-prune dc-ls dc-open dc-tui dc-up dc-exec dc-down dc-forward dc-df dc-prune dc-ls dc-open

the missing verbs

dc-up

              
                  $ dc-up
                
                  → labeled app up
                
                  → dc-forward :3000
                
                  ok  ports published
                
            

Start the labeled app.

Reads project config, brings the stack up, publishes ports. Clash? It names the holder.

dc-exec

              
                  $ dc-exec --service db
                
                  → start db (was exited)
                
                  → docker exec skipped
                
                  root@db:/#
                
            

Never docker exec.

App shell via official CLI. Other services: --service NAME. Stopped boxes start first.

dc-forward

              
                  $ dc-forward 3000
                
                  → sidecar alpine/socat
                
                  → host :3000 → app
                
                  status  listening
                
            

Colima-safe ports.

Sidecar on the Docker network. Host socat to 172.x does not work on Colima.

dc-prune

              
                  $ dc-df
                
                  docker  42%   colima  61%
                
                  $ dc-prune --yes
                
                  reclaim  cache + dangling
                
            

Disk without nuking DBs.

dc-df then dc-prune --yes. Never docker system prune -af --volumes.

rules of the host

Never docker exec. Never docker system prune. Never edit their .devcontainer.

Official CLI has up and exec. This adds the rest.

  1. dc-tui

    Clickable board for this folder. --all for the fleet.

  2. dc-up

    Start the labeled app, then publish ports.

  3. dc-exec

    Shell in the app. --service NAME for siblings.

  4. dc-down

    Stop the full compose stack. --app for the labeled app only.

  5. dc-forward

    Sidecar publish. Required on Colima.

  6. dc-df

    Docker + Colima disk report. Read-only.

  7. dc-prune

    Safe reclaim. Dry-run without --yes.

~/ — bash

One curl. Then source your shell.

Tracks the latest GitHub release. Safer: clone, then bash install.sh.

$ 

source ~/.zshrc or ~/.bashrc