Compose | Verwalten von Anwendungsstacks |
Hub | (öffentliche) Docker-Registry |
Swarm / Swarm Mode | Verwaltung von Container in Clustern |
Cloud | Hostinganbieter |
Maschine | Bereitstellung von Docker-Hosts |
Store | Bereitstellung zertifizierter Images |
Kinematic | Grafisches Verwaltungswerkzeug |
docker info [OPTIONS]
Zeigt Informationen über die Docker-Installation und docker ps [OPTIONS]
Zeigt Informationen für die Container z.B. Name, Image, Port ... an.
-a / --all | zeigt Informationen zu allen, auch inaktiven, Containern |
-l / --latest | zeigt Informationen zum letzten erstellten Container |
docker run [OPTIONS] IMAGE[:Tag] [COMMAND]
Name | --name [Name] (muss eindeutig im Host sein) |
---|---|
Startverhalten | -it (interaktives Terminal) /-d (Hintergrunddienst) |
Volumen-Mapping | -v Quellpfad:Zielpfad |
Port-Mapping | -p Container-Port:Host-Port |
Endverhalten | -rm Container direkt entfernen |
docker start [OPTIONS] CONTAINER
-a / --attach | Verbindung mit der Standardausgabe herstellen. |
-i / --interactive | Verbindung mit der Standardeingabe herstellen. |
docker stop [OPTIONS] CONTAINER
-t / --time | Zeit, in Sekunden, bis Container gekillt wird. |
docker attach [OPTIONS] CONTAINER
Stellt eine Verbindung mit der Standardausgabe des laufenden Containers her.
docker rm [OPTIONS] CONTAINER
-f / --force | Bricht den noch laufenden Container ab |
-v / --volumes | Löscht die mit dem Container verbundenen Volumes |
docker logs [OPTIONS] CONTAINER
docker images [OPTIONS]
-a / --all | Zeigt alle, auch Zwischencontainer, an |
-f / --filter | Filtert die Liste |
docker pull [OPTIONS] [Registry]IMAGENAME
Ist keine Registry angegeben, wird der Default i.d.R. Docker-Hub verwendet.
Beim Aktualisieren bleibt das vorhandene Image erhalten.
docker pull myregistry.local:5000/myuser/myimage
docker rmi [OPTIONS]
-f / --force | Erzwingt das Löschen |
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a / --author | Ersteller |
-m / --message | Commit message |
docker push [OPTIONS] [Registry]IMAGENAME[:TAG]
Vor der Übertragung in den Dockerhub ist eine Authentifizierung erforderlich.
Ist eine Auszeichnungssprache (ML) für den Aufbau eines Docker-Images.
Die Speicherung erfolgt als Textdatei.
FROM Basisimage[:TAG]
Imagename ggf. mit Tag auf welchem das eigene Image basieren soll
FROM ubuntu:16.10
LABEL maintainer Email
E-Mail-Adresse des Autors
LABEL maintainer "max@mustermann.de"
Veraltet: MAINTAINER
MAINTAINER Max Mustermann "max@mustermann.de"
RUN COMMAND
Befehl zur Ausführung im Container z.B. Installieren von Software.
RUN apt-get update
ENV VARIABLENNAME Wert
Definiert Variablen z.B. die Version oder das Datum der Aktualisierung, die auch innerhalb der Befehle verwendet werden können.
ENV REFRESHED_AT 2017-01-25
EXPOSE Portnummer
Definiert Ports, welche durch das Image bereitgestellt werden.
EXPOSE 8080
VOLUME Pfad
Definiert Volume (Verzeichnis), welche durch das Image bereitgestellt wird.
VOLUME ["/mydata"]
COPY Quellpfad Zielpfad
Kopiert Ordner / Dateien in das Image
COPY /Publish /MyApp
ADD Quellpfad / URL Zielpfad
Kopiert Ordner / Dateien in das Image.
Kann auch eine URL oder eine tar-Datei sein.
ADD /Publish /MyApp
WORKDIR Pfad
Definiert den Einstiegspfad für die Ausführung innerhalb des Containers.
WORKDIR /MyApp
ENTRYPOINT [COMMAND, ARGS]
Definiert den Startbefehl des Images inkl. Parameter.
ENTRYPOINT ["npm", "rum", "testapp"]
CMD COMMAND
Definiert den Startbefehl des Images inkl. Parameter.
Ein Überschreiben ist möglich.
CMD ["npm", "rum", "testapp"]
FROM fpommerening/spartakiade2017-rabbitmq:core-base
LABEL maintainer "frank@pommerening-online.de"
ENV REFRESHED_AT 2017-01-31
ENV Picflow_VERSION 0.0.1
COPY /app /home/
RUN set -x \
&& p7zip -d /home/picflow-webapp.7z \
&& mv /picflow-webapp/ /app/ \
&& apt-get purge -y --auto-remove ca-certificates wget p7zip
WORKDIR /app/
EXPOSE 5000
ENTRYPOINT ["dotnet", "WebApp.dll"]
Hauptziele: Übersicht erhöhen / Imagegröße reduzieren
https://commons.wikimedia.org/wiki/File:Windows_logo_-_2012.png
https://commons.wikimedia.org/wiki/File:Tux.svg
https://blog.docker.com/media/Rancher-Logo-Final-1.png
http://design.ubuntu.com/wp-content/uploads/ubuntu-logo14.png
https://www.archlinux.org/static/logos/archlinux-logo-dark-1200dpi.b42bd35d5916.png
http://blog.d2-si.fr/2016/06/29/start-up-docker-swarm/
http://www.willhoeft-it.com/2016/06/03/docker-compose.html