Docker

ocker focuses on three areas

  • Build Image: Consistently package everything your application needs to run

  • Ship Image: Easily ship these images to runtimes - cloud or lacol dev machine

  • Run Image: easily and consistently execute your applicaton

Starting with a docker file

  • used build your image: eg. docker-compose.yml - think of as a list of commands that gets sent to the docker engine and builds your image.

  • usually start with a base image as describe here. They are contained on dockerhub

Persistent Storage with Docker

When I first played with Docker 2013, I remember having issues connecting persistent storage as the containers don't handle the aspect. So here we go. Docker has two options of for storing files in the host machine. Manage data in Docker

volumes 
are stored in part of the host filesystem which is managed by docker /var/lib/docker/volumnes - are the best way to persist data in docker.
creation 
docker volume create or via during container or service creation
managed 
volumes are managed by Docker and are isolated from the core functionality of the host machine.
mount 
a volume can be mounted into containers simultaneously - can remove using docker volume prune
named or anonymous 
volumes may be either. anonymous volumes are not given an explicit name, Docker gives them a random name guaranteed to be unique. Otherwise they behave in the same way.
Volume Drives 
allow you store data on remote hosts
bind mounts 
can be stored anyway on the host system.
tmpfs mounts 
host memory only and are never written to the host system's file system

Running windows you can use a named pipe.

  • Not matter the mount you use the data looks the same from within the computer. It is exposed as either a directory or an individual file in the containers filesystem.

Time for some Docker - It's been a while

Windows Install