======Docker====== * best source of docker wisdom: https://github.com/wsargent/docker-cheat-sheet ===== Building a docker image ===== - Create Dockerfile or clone docker repository - Run:docker build -t YourImage /path/to/dir/with/dockerfile ===== Running docker container ===== docker run -v /srv/elgoog:/mnt -d algoo * -d detached * -v volumes to bind in format /path/at/host:/path/in/container * -m memory limit * -c cpu limit ===== Attach to the running container (docker >= 1.3) ===== docker exec -it bash ===== Attach to the running container (docker < 1.3) ===== * first discover all running containers on host docker ps * output: root@xen-docker:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d5e31d1cbe9c algoo:latest supervisord -n 3 seconds ago Up 2 seconds 80/tcp furious_hopper ec704ed40100 algoo:latest supervisord -n 4 seconds ago Up 3 seconds 80/tcp distracted_babbage * attach to the container by id (works only if COMMAND = bash) docker attach d5e31d1cbe9c ===== Copying files between host and container ===== * The cleanest way how to copy files between host and container is to mount an image to the container docker run -v /path/to/hostdir:/mnt $container cp /mnt/sourcefile /path/to/destfile ===== Delete old docker images and keep the running ones ===== * remove images from dockerdocker ps -a | grep 'Exited' | awk '{print $1}' | xargs --no-run-if-empty docker rm * delete them physicallydocker images --no-trunc| grep none | awk '{print $3}' | xargs -r docker rmi ====== Docker networking ====== * http://blog.oddbit.com/2014/08/11/four-ways-to-connect-a-docker/