av-docker v1.3.15
av-docker plugin
This is a plugin for av-shell that integrates docker with your project.
Dependencies
Need jq for replacement of values in Mesos.json and docker or Docker.app
Install
npm install -g av-dockerSetup
After you have setup av-shell in your project, you will need to add the plugin (from within av shell, signified here as "av>" but it will be whatever you setup your shell to be called):
av> plugin add av-dockerYou will need to exit, CTRL-D, and relaunch the av shell to pick up the changes.
Now setup the folder you want to have your docker containers located in, e.x. "containers":
av> setpv containerdir containersNow setup the repo you will push containers to. Could be dockerhub:
av> setpv repo somehostname:portOperation
Under the "containers" directory, create a folder for each container you want to use where you can put your Dockerfile and a Runfile (more about the latter later). I've include an example directory in this repo for you to copy and use as you like. Av-docker adds the 'choose' command:
av> choose
? Which do you want? nginx
Using nginx as container for docker commands
av [nginx]> You will notice how your av-shell prompt has changed to include the selected container.
Now you can use normal docker commands but without typing docker and the container name each time.
We are going to use a special av feature to show one way domain specific shells kick ass...
holdhash onLets build the nginx container
buildFor a custom container, you will certainly want to setup the Runfile with docker arguments like this:
-d -p 80:80 -v $(pwd)/../../log:/var/log/nginxNow start the container with the 'run' command:
runThe command should output some huge hash value. The first 12 chars can always be found with a ps
ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1526432ae2f nginx /usr/local/bin/run 31 seconds ago Up 31 seconds 0.0.0.0:80->80/tcp stupefied_morseBut lets stop it with that 'holdhash' feature
stopAnd start it back up again
startHandy right? Well what if we what to shell into that container? av will help you here (need docker 1.3+)
shellLets shut it down
stopAnd perminantly remove it
rmcHow many times did you not have to type docker? Make your life easy with av-docker!