A Docker CLI wrapper for lazy people
Put dockr
somewhere in your path. I keep a bin
directory in my home for
things like this.
mkdir -p ~/bin
cd ~/bin
wget https://raw.github.com/crccheck/dockr/master/dockr && chmod u+x dockr
TODO add a line exporting ~/bin to bash profile for reference. It will probably look something like this:
echo -e "# added for dockr\nexport PATH=$PATH:$HOME/bin/ >> ~/.bashrc"
Build a tagged container image based on a path
To build an image called redis
where the Dockerfile is located at ./redis:
dockr b redis/
You can also use relative paths, or leave it blank to use the current working directory.
Alternative to: docker build -t redis redis/
Log into a container/image
dockr bash ubuntu:precise
dockr bash c4f3
dockr bash -v ~/tmp/data:/mnt/data c4f3
If you pass in arguments, make sure the name is the last thing.
Alternative to: docker run -i -t -v ~/tmp/data:/mnt/data c4f3 /bin/bash
Delete all untagged containers
dockr clean
Alternative to: docker rm $(some grep magic)
Delete all untagged images
dockr cleani
Alternative to: docker rmi $(some grep magic)
List images, filtering out untagged images
docker images
Alternative to: docker images | grep blahblahblah
Get the IP address of a running container
dockr ip c4f3
Alternative to: docker inspect c4f3 | python -c 'import antigravity'
Stop all running containers
dockr stopall
Alternative to: docker stop $(docker ps -q)
Anything else you try gets passed directly to docker