Docker ist aktuell die führende Virtualisierung für Micro-Services.
Windows#
Inzwischen gibt es eine native Docker-Installation für Windows. 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 konfigurierenifconfig 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 |