docker trickkiste - pretalx · 2019-03-22 · docker basics praktische kommandos für jeden tag....
Post on 10-Aug-2020
4 Views
Preview:
TRANSCRIPT
Docker Trickkiste
Lightningtalk auf der FOSSGIS 2019 in Dresden
Docker Trickkiste
Mit Dank anJohannes Kröger
für das tolle Format “Trickkiste”!
Docker Basics
Praktische Kommandos für jeden Tag
docker run
Den Container nach dem Beenden löschen
docker run --rm alpine
.dockerignore● Funktioniert wie .gitignore für die
Buildumgebung von Docker● Saubere Buildumgebung● Schutz vor überschreiben● Schutz vor ungewollten Daten=> Schnellere Builds
.dockerignoreBeispiel
node_modules/coverage/*.heapdumpprod.pem*.tmp
Docker Labels
Stets die Übersicht behalten
Docker LabelsWas kann Labels haben?
● Images● Container● Volumes● Networks
Dockerfile
Images Labels gebenFROM node:latestLABEL key=value
LABEL
docker build
Images Labels geben
docker build --label key=value
docker run
Container Labels geben
docker run --label key=value
docker-composeContainer Labels geben
services: myservice: labels: key: value
Nach Labels filtern
Container hat ein Labeldocker ps \ --filter label=key
Nach Labels filtern
Container hat bestimmten Wert im Labeldocker ps \ --filter label=key=value
Labels ausgeben
Label eines Containers ausgebendocker ps \ --format '{{.Label "key"}}'
Konfiguration mit LabelsTraefik konfigurieren mit Labels
mapproxy-service: image: yagajs/mapproxy expose: [8080] labels: traefik.enable: "true" traefik.port: "8080"
Docker Buildkit
Dockers zukünftige Features schon heute
RUN mit mounts# syntax=docker/dockerfile:experimentalFROM node
RUN --mount=type=cache,target=/var/lib/apt/lists/ set -x \ && apt-get update \ && apt-get install curl -y
Multistage buildsFROM node as builder
RUN set -x \ && apt-get update \ && ...
FROM nodeCOPY --from=builder /path/from /path/to
DockerfileSo wenige Build-Steps wie möglich,
so viele wie nötigFROM node:latestRUN apt-get install …COPY package.json /my/appRUN npm installCOPY . /my/app/
DockerfileSo wenige Build-Steps wie möglich,
so viele wie nötigFROM node:latestRUN apt-get install …COPY package.json /my/appRUN npm installCOPY . /my/app/
DockerfileSo wenige Build-Steps wie möglich,
so viele wie nötigFROM Basis-ImageRUN System AbhängigkeitenCOPY Abhängigkeiten unserer AnwendungRUN Installation der AbhängigkeitenCOPY Sonstiger Quellcode
docker build
Image komplett neu bauen
docker build --no-cache [...]
docker build
Basis Image updaten
docker build --pull [...]
top related