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…

      • @[email protected]
        link
        fedilink
        English
        105 months ago

        Generally speaking you shouldn’t be poking around running containers. It is rare that I have ever needed to do that. If you want to inspect the contents of an image then tools like dive are helpful. If the container produces some useful output that you might need then put that into a volume, you can then mount that volume to a debug/inspect container to read the files without messing around with the rest of the container.

        Shell-less containers are a great security feature - it is extremely hard to get a reverse shell on something that does not have any shell. And if you must have a shell to debug something docker already has a feature for that docker debug which works for shell-less containers as well.

  • Daniel Quinn
    link
    fedilink
    English
    7
    edit-2
    5 months ago

    This is an excellent idea. Fortunately you’re not the first to have it ;-)

    You should look into alias.

    • @[email protected]OP
      link
      fedilink
      35 months ago

      Seems fine used it a few times so far. It works. Very easy to setup. I want to try keepass before I choose. Keepass has a more “foss flavour”

      • propter_hog [mirror/your pronouns]
        link
        fedilink
        English
        1
        edit-2
        5 months ago

        Yeah, that’s the same crossroads I’m at. Currently using Proton Pass, and I like it, but it’s inherently closed. Security by obscurity is kind of their m.o.