docker run
Paquets et runtimes
Syntaxe
docker run [-d] [-p <host>:<container>] <image> [command]Crée et démarre un nouveau conteneur à partir d'une image à chaque appel : lancé deux fois, il en existe deux, et pour relancer un conteneur arrêté c'est docker start ; sans -p rien n'est joignable depuis l'hôte, et sans -v ce qui est écrit disparaît avec le conteneur.
Options courantes
| Option | Signification |
|---|---|
| -d | run in the background and print the id |
| -p 8080:80 | publish a container port on the host |
| -it | interactive with a terminal, for a shell |
| --rm | delete the container when it exits |
| -v <host>:<path> | mount a host folder or named volume |
| -e KEY=value | set an environment variable |
| --name <name> | give it a name instead of a random one |
| --network <net> | attach it to a network |
Exemples
docker run --rm -it ubuntu basha throwaway shell in a container
docker run -d -p 8080:80 --name web nginxnginx in the background, reachable on localhost:8080
docker run --rm -v "$PWD":/app -w /app node:22 npm testruns your tests in a container without installing node
La question est toujours quoi va où : dans ce projet, ou sur la machine entière.
Comment lire
- Les crochets [ ] marquent une partie facultative.
- Les points de suspension … signifient qu’on peut en mettre plusieurs.
- Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.
Questions fréquentes
Q. Que fait docker run ?
Crée et démarre un nouveau conteneur à partir d'une image à chaque appel : lancé deux fois, il en existe deux, et pour relancer un conteneur arrêté c'est docker start ; sans -p rien n'est joignable depuis l'hôte, et sans -v ce qui est écrit disparaît avec le conteneur.
Q. Comment l’écrire ?
docker run [-d] [-p <host>:<container>] <image> [command] — les crochets marquent ce qui est facultatif.
Q. Combien d’options valent la peine ?
Il y en a 8 ici ; la liste complète est dans man docker. Cette commande relève de Paquets et runtimes.
Commandes liées
page man: man docker-run