if you and your friend have vm and want to sync up you may have to transfer 20gb of file. but with docker docker diff to check the difference then docker commit then docker push which will only be the change.
docker containers: are actual containers running the applications and includes os, user added files, and meta data
docker images: helps to launch docker containers
docker file: is a file containing instructions that help automate image creation
layer: each file system that is stacked when docker mounts rootfs.
Install docker using:
sudo rpm install docker
docker pull: pull a pre-built image from public repos
docker run: run in 3 modes background,foreground,interactive
docker logs: logs of running logs
docker commit: save container state
docker images: list of all images
docker diff: changes in files and directories
docker build: build docker images from
docker inspect: low level info about containers
docker attach: interact with running container
docker kill: kill a container
it is beneficial to separate every server like in lamp have separate php, mysql,apache in diff containers
you can use a supervisor -n to it
automates image creation process
set of instruction to create an image
syntax: instruction argument
how docker files different:
dockerfiles run in layers
after every command a new layer is created.
if there is a mistake in line 29 of 30 if you corect in docker then first 28 skip because already run and just resolving the issue.
MAINTAINER <author name> sets autho name
RUN <command> execute command
ADD <src><dest> copy files from one location to another
from local machine to inside docker
CMD[“executable”,”param1″,”param2″] provides default for executing container
EXPOSE <port>port on which container might get deprecated
ENTRYPOINT [“executable”,”param1″…] configure container as exe from where you want to start execution
WORKDIR /path set working dir
ENV <key> <value> set env variables
USER <uid> set UID for use when running an image
VOLUME [“/data”] enable access to a directory from a working container mount from host to docker
docker create —–using dockerfile
Layering issue with dockerfile is that docker is restarted after every command you will losse any environment variable
If you want to run a if then you will have to write it on a single line.
you can override this in command line
if container when you execute CMD and command as main command and if that command quits or goes in background.
boot2docker to bootstrap instead of chef