From-Scratch meint hier, ohne vorinstalliertes Docker (im vorigen Beispiel war das bereits im VirtualBox-Image ubuntu1404-docker vorinstalliert) - natürlich kann man auch hier die Linux-Box per Vagrant erzeugen. Wie es danach weitergeht hängt von der verwendeten Linux-Distribution ab.
sudoyumupdatesudotee/etc/yum.repos.d/docker.repo<<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOFsudo yum install docker-enginesudo service docker startsudo docker run hello-world
Wenn dann eine Erfolgsmeldung ala "Hello from Docker." ... Voila geschafft.
Das sudo vor dem docker macht die ganze Sache ein wenig unhandlich - man braucht es, weil die Datei /var/run/docker.sock die Permission-Attribute srw-rw---- 1 root docker 0 13. Jan 12:53 erhält. Derhalb legt man am besten eine User-Gruppe docker an und packt einzelne User dort hinein:
Zudem sollte man den Docker-Daemon beim Systemstart hochfahren:
Mit vorkonfiguriertem Vagrant-Image
Am besten erlernt man eine neue Technologie durch ausprobieren. Deshalb am bestern per Vagrant ein Linux-Image mit bereits eingebautem Docker-Support anlegen. Das ist eine Sache von 5 Sekunden Arbeit:
Und dann noch ein paar Sekunden/Minuten auf den Download des Images warten - währenddessen gleich einen DockerHub-Account anlegen.Dann per
ein SSH-Connect auf das neue Image machen. Anschließend werden die Credentials für DockerHub per
abgefragt und in $HOME/.dockercfg abgelegt. Und nun noch einen Docker-Container starten:
Voila :-)
Aber nicht nur Hello World (für das man sicher keinen eigenen Container benötigt) geht so schnell. Auch diese Web-Applikation (eigentlich handelt es sich um das Docker-Images training/webapp mit einer Web-Applikation)
ist schnell mal deployed.
Je nach Netzwerkkonfiguration des Images (NAT, Bridge) kann vom Wirtsystem direkt über die IP-Adresse des Images auf http://localhost:5000 zugegriffen werden (Bridge-Mode) oder es muß Port-Forwarding in das Images hinein konfiguriert werden.