Docker
Docker är ett open source-projekt som automatiserar utrullning av applikationer i containers genom att lägga ett extra lager av abstraktion och automatisering av virtualisering på Linux. Docker använder resursisoleringsfunktioner i Linuxkärnan, såsom cgroups och kernel namespace för att tillåta oberoende "containers" att köra i en och samma Linuxinstans. Detta minskar overhead jämfört med virtuella maskiner.
Mer info: http://www.nkode.io/2014/08/24/valuable-docker-links.html
Contents
Installation
Fedora 23
sudo dnf -y install docker-io
Ubuntu 14.04
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 sudo sh -c "echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list" sudo apt-get update && sudo apt-get -y install lxc-docker
Alternativt
wget -qO- https://get.docker.com/ | sh
Starta
sudo docker daemon &
Imagehantering
Snapshots av containers eller OS-images, t.ex. ubuntu
sudo docker search ubuntu sudo docker pull ubuntu
Visa tillgängliga images
sudo docker images
Starta en container utifrån en image.
docker run -i -t ubuntu /bin/bash
För att spara det man har gjort i en image måste man commita
sudo docker commit [container ID] [image name]
Containerhantering
Kolla aktiva och inaktiva containers.
sudo docker ps sudo docker ps -l
Starta och stoppa en container.
sudo docker run [container ID] sudo docker stop [container ID]
Inspect
Med docker inspect kan man få ut info om images och containers. T.ex. IP-adresser, hostname, kommentarer mm.
docker inspect myself/myimage docker inspect container-id docker inspect --format "Template:.NetworkSettings.IPAddress" $(docker ps -q)
Dockerfile
nano Dockerfile sudo docker build -t my_test .
registry.hub.docker.com
Docker Hub är en central punkt för Docker, där hostas offentliga images.
Vill man ladda upp det man har gjort måste man först regga sig på hemsidan. Sedan kan man pusha imagear.
sudo docker push username/imagename
Central hantering
Central Dockerhantering gör det möjligt att managera images, containers, hostar och övriga Dockerresurser från ett och samma ställe. Exempel på detta är Shipyard, Swarm och Rancher
Network
Fr.o.m version 1.9 finns docker network. Nu använder man Docker Engine för att skapa virtuella nätverk som kan spänna över flera hostar. Overlay görs med VXLAN.
docker network create test-network