Docker ist aktuell die führende Virtualisierung für Micro-Services. !!!Windows Inzwischen gibt es eine native [Docker-Installation für Windows|https://docs.docker.com/engine/getstarted/step_one/]. Einfach das Paket installieren und dann testen: {{{ docker run hello-world }}} !!Prozesse "docker ps" listet die laufenden Prozesse, "docker ps -a" listet die auf der Maschine befindlichen Images. !!!Virtualbox Unter Windows läuft Docker momentan mit einem Image boot2docker.iso, welches mit "Docker Toolbox" geliefert wird. Die Installation erfolgt üblicherweise in C:\Program Files\Docker Toolbox, das sollte sich im System-Path befinden. Die Maschine wird gelöscht und angelegt mit: {{{ $ docker-machine rm default $ docker-machine create --driver virtualbox default }}} __Hinweis:__ "default" ist der Standardname der Docker-Maschine. !!Environment Die Docker-Maschine kann dann unter Windows abgefragt werden mit: {{{ docker-machine env }}} !!SSH Verbindung Mit dem Command docker-machine kann man sich auch verbinden: {{{ docker-machine ssh default }}} !!!Images Standard-Images werden vom Docker-Hub über das Internet heruntergeladen. Da sind einfache Linuxe mit Java, Tomcat, MySQL etc. verfügbar. !!!Netwerk Netzwerk konfigurieren {{{ ifconfig eth0 192.168.3.1 netmask 255.255.0.0 broadcast 192.168.255.255 up }}} !!!Deployen Die eigene Anwendung wird mit dem Docker-Command deployed oder über das Maven-Plugin com.spotify:docker-maven-plugin. !!Maven Das Plugin arbeitet mit einem Spring-Boot JAR wie folgt: {{{ <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>${project.artifactId}</imageName> <dockerHost>https://192.168.99.101:2376</dockerHost> <dockerCertPath>${env.USER_HOME}\.docker\machine\machines\default</dockerCertPath> <baseImage>java:8-jdk</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <exposes> <expose>80</expose> </exposes> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> }}} !!!Docker Console Innerhalb der Docker-VM oder einer anderen Docker-Installation stellt das Command "docker" die Verbindung zum Docker-System her. Mit "docker ps" kann man die laufenden Container auflisten lassen. !!!Docker Maschine Customizing findet statt durch /etc/docker/docker.json innerhalb der virtuellen Docker-Maschine. ||Key||Value||Bedeutung |bip|192.168.1.5/24|Netzwerk range |fixed-cidr|192.168.1.20|IP-Adresse der eigenen Maschine !!!Links * __Download:__ [http://docs.master.dockerproject.org/engine/installation/binaries/] * [https://docs.docker.com/machine/drivers/hyper-v] * [https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0/] * [https://docs.docker.com/engine/reference/commandline/dockerd/]