dock
dock is a shell script to help you easily bootstrap databases and other
tools that you need for development purposes. Instead of installing something
like MongoDB or Redis natively on your machine, you can run it in a Docker
container with just a single command dock mongodb
. The main purpose of
dock is to make the interaction with Docker dead simple for quick prototypes
and hackathons.
Typical usage
$ dock redis jenkins mongodb rabbitmq
Starting redis (using /Users/ben/.dock-formulas/formulas/redis)
Container started
Name: redis
IP: 192.168.59.103
Ports: 6379
Starting jenkins (using /Users/ben/.dock-formulas/formulas/jenkins)
Container started
Name: jenkins
IP: 192.168.59.103
Ports: 8472
Starting mongodb (using /Users/ben/.dock-formulas/formulas/mongodb)
Container started
Name: mongodb
IP: 192.168.59.103
Ports: 27017
Starting rabbitmq (using /Users/ben/.dock-formulas/formulas/rabbitmq)
Container started
Name: rabbitmq
IP: 192.168.59.103
Ports: 5672 15672
Admin user: admin
Admin pw: A3y6crBkMk8k
For additional usage instructions, run dock
without arguments.
Installation
First make sure that you have Docker running on your machine. Then continue with the installation of dock:
As of the time of writing the Homebrew Docker installer is broken. boot2docker is currently the easiest way to get a working Docker environment on OS X.
dock versions >= 1.0.0 are compatible with boot2docker 1.3 and beyond. Please use v0.6.3 when you are using an old boot2docker version or upgrade your boot2docker installation.
Homebrew
Installation on OS X usingbrew tap bripkens/dock
brew install dock
Upgrade on OS X using Homebrew
brew update
brew upgrade dock
Installation on other platforms
Just download dock
and put it somewhere on your $PATH. Then:
chmod +x /path/to/dock # Make dock executable
dock -u # Initialise dock
You can automate this with the following one-liner (assuming ~/bin is on your $PATH).
curl https://raw.githubusercontent.com/bripkens/dock/master/dock -so ~/bin/dock && \
chmod +x ~/bin/dock && \
dock -u && \
echo "dock installation successful. Try running 'dock'"
Command completion
To add command completion for fish hell, copy the dock.fish
file to ~/.config/fish/completions
.
Supported programs
For a list of supported programs run dock -l
or check out this repository's
formulas/ directory.
Feel free to send a pull request for any awesome Docker containers that are
still missing!
Private formulas
Dock will look for custom formulas in a .dock-formulas
directory relative to
your current working directory. So if you need a formula for a custom docker
image that you don't want to make public through docker hub, you can put your
formulas there.
Contributing formulas
I will gladly accept your formulas. The following points describe the basic process of adding a new formula.
- Fork this repository
git clone <your fork>
- Add a new file to the
formulas/
directory - Check out existing formulas for the basic formula structure
- Try the new formula locally
bash formulas/<my new formula>
- Commit, push and open a pull request
Credits
dock was written by Ben Ripkens (@BenRipkens).
Structure and readme are heavily inspired by Simon Whitaker's gibo.