App, Anywhere • nu nog alleen op Linux, maar… straks ook op Windows Server vNext • ’n laag om LXC (LinuX Containers) • portabiliteit door standaardisatie Het concept an sich is niet uniek, maar Docker als tool wel!
image. ! Een image is een set layers zoals men ze heeft beschreven (in een Dockerfile). ! Een image is read-only en veranderd NIET. ! Als je een image (op)start, heb je een draaiende container van dat image. ! Men kan vele draaiende containers van hetzelfde image hebben.
denken de processen dat het hele bestandssysteem read-write is gemount. Maar alle wijzigingen gaan naar de top-most writable layer. Daaronder is het originele bestand in het read-only image ongewijzigd. Aangezien images niet veranderen, hebben images geen state.
trusty-core-amd64.tar.gz | docker import - ubuntucore ! $ docker tag ubuntucore hbokh/ubuntucore ! $ docker push hbokh/ubuntucore Een image ophalen (pull): $ docker pull ubuntu:trusty ! Download het officiële Ubuntu base image - versie 14.04 (Trusty) - van de Docker-registry. Zie ook https://registry.hub.docker.com/_/ubuntu/ Zelf een OS-image maken, van een OS-tarball:
omdat er geen link kan worden gemaakt met de database-container “mariadb”. Die is er nog niet, dus laten we die opstarten: ! $ docker run -td --name mariadb -e USER=mariadb -e PASS=p4ssw0rd paintedfox/mariadb ! Dat image is lokaal nog niet te vinden, dus wordt middels een pull opgehaald: Controle met docker ps:
om de TYPO3-container te starten werkt dan wel: Verbinden naar $DOCKER_HOST (in dit geval het IP-adres van boot2docker): http://192.168.59.103/ geeft het TYPO3 CMS installatie-setupscherm.
makkelijker?! Zeker, bijvoorbeeld met de tools “crane” of “fig” (recentelijk omgedoopt in “docker-compose”): ! Bestandsnaam fig.yml: ! mariadb: image: paintedfox/mariadb:latest environment: - USER=mariadb - PASS=p4ssw0rd typo3cms: image: hbokh/docker-typo3-cms:latest links: - mariadb:db ports: - "80:80" ! ! En dan (commands): ! fig up of fig up -d fig up —no-recreate / fig up -d —no-recreate