Start·Terminal-Befehle

docker run

Pakete und Laufzeiten

Aufruf

docker run [-d] [-p <host>:<container>] <image> [command]

Erzeugt und startet jedes Mal einen neuen Container aus einem Image, zweimal ausgeführt gibt es also zwei, und einen bestehenden startet docker start; ohne -p ist nichts vom Host erreichbar, und ohne -v stirbt alles Geschriebene mit dem Container.

Häufige Optionen

OptionBedeutung
-drun in the background and print the id
-p 8080:80publish a container port on the host
-itinteractive with a terminal, for a shell
--rmdelete the container when it exits
-v <host>:<path>mount a host folder or named volume
-e KEY=valueset an environment variable
--name <name>give it a name instead of a random one
--network <net>attach it to a network

Beispiele

docker run --rm -it ubuntu bash

a throwaway shell in a container

docker run -d -p 8080:80 --name web nginx

nginx in the background, reachable on localhost:8080

docker run --rm -v "$PWD":/app -w /app node:22 npm test

runs your tests in a container without installing node

Die Frage ist immer, was wohin gehört: in dieses Projekt oder auf die ganze Maschine.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht docker run?

Erzeugt und startet jedes Mal einen neuen Container aus einem Image, zweimal ausgeführt gibt es also zwei, und einen bestehenden startet docker start; ohne -p ist nichts vom Host erreichbar, und ohne -v stirbt alles Geschriebene mit dem Container.

Q. Wie gibt man ihn ein?

docker run [-d] [-p <host>:<container>] <image> [command] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 8; die vollständige Liste steht in man docker. Der Befehl gehört zu Pakete und Laufzeiten.

Verwandte Befehle

man-Seite: man docker-run