I work with Docker almost all the time in my job at Red Hat. Building, running, inspecting containers... Writing same long commands every time you want to run a container or get it's IP starts to annoy you quickly. That's why I started writing small helpers in the form of bash functions which are loaded through
.bashrc and thus can be used from cmd line easily.
You can find them in my docker-tools repository but let me introduce them a bit.
If you load/import/build images often, it happens that you end up having a bunch of
<none> named images in your docker images output. The above commands removes them all.
I use this mostly in VMs where I am limited in terms of disk space - every container, especially when you test f.e. if yum install works, eats some space and this command lets you remove them all quickly.
dr fedora docker run --name tmp0 -it --rm fedora bash dr fedora cat /etc/os-release docker run --name tmp0 -it --rm fedora cat /etc/os-release NAME=Fedora ...
dr command is probably my favourite. It runs bash in the given image with arguments I use the most. You can also specifiy a command to run if you wish so.
Simple alias for
docker load command with the advantage of being able to load from default directory so you can just give it a file name and it looks in the predefined folder.
de [CONTAINER] [CMD]
The most awesome thing about using functions instead of just aliases is that you can add whatever logic you like. So my
de command (representing
docker exec) can be called with a container id/name and command - same as
docker exec. But it can also be called without command which then defaults to
bash and also without container id/name which default to the last entry in
docker ps output. If you want to skip specifying container, but still want to use different cmd than bash, use following syntax:
de "" rpm -qa
I don't use next command as often as those above but I still like it a lot - it let's you print IP address of any container. If container id/name is not specified it uses the same logic as
Last command I have on my list at the moment is
dk and you could maybe guess - yes, it's
docker kill and it also provides the same logic as the two above.
Do you have more aliases/ideas? Let me know I am happy to make my list richer!