I thought this would be hard, but turns out the following oneliner does it, with maybe no sideeffects ?

echo 'docker() { [ "$1" = "sh" ] && docker exec -it "$2" sh || command docker "$@"; }' >> ~/.bashrc && source ~/.bashrc

This creates a bash alias for “docker ps” , every other command should run as normal

Now I just need to remember to run this one liner on every single computer I use in the future…

  • bjornsno@lemm.ee
    link
    fedilink
    arrow-up
    23
    ·
    17 hours ago

    That's the neat thing, you don't

    Jokes aside, you create a custom Dockerfile and copy a statically compiled shell binary.

    • vinnymac@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      17 hours ago

      Always wondered why this wasn’t automated, from an ergonomics perspective, a command that lets me open a shell could detect that no shell exists, and then do as you said, without me having to lift a finger. It’s not very unix-y, but it could be a sort of plug-in for Docker CLIs.