Docker
From Christoph's Personal Wiki
Docker is an open-source project that automates the deployment of applications inside software containers. Quote of features from docker web page:
- Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.[1]
Install docker
Note: For this install, I will be using Ubuntu 16.04 LTS (Xenial Xerus). Docker requires a 64-bit version of Ubuntu as well as a kernel version equal to or greater than 3.10. My system satisfies both requirements.
- Setup the docker repo to install from:
$ sudo apt-get update -y $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D $ echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list $ sudo apt-get update -y
Make sure you are about to install from the Docker repo instead of the default Ubuntu 16.04 repo:
$ apt-cache policy docker-engine
The output of the above command show look something like the following:
docker-engine: Installed: (none) Candidate: 1.11.2-0~xenial Version table: 1.11.2-0~xenial 500 500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages 1.11.1-0~xenial 500 500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages 1.11.0-0~xenial 500 500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
- Install docker:
$ sudo apt-get install -y docker-engine
- Check on the status of docker:
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2016-07-12 12:31:08 PDT; 6s ago Docs: https://docs.docker.com Main PID: 3392 (docker) CGroup: /system.slice/docker.service ├─3392 /usr/bin/docker daemon -H fd:// └─3411 docker-containerd -l /var/run/docker/libcontainerd/docker-containerd.sock --runtime docker-runc --start-timeout 2m
- Make sure the docker service automatically starts after a machine reboot:
$ sudo systemctl enable docker
- Execute docker without `sudo`:
$ sudo usermod -aG docker $(whoami)
Log out and log back in to use docker without `sudo`.
- Check that docker has been successfully installed and configured:
$ docker run hello-world
... This message shows that your installation appears to be working correctly. ...