Inicio·Comandos de terminal

docker run

Paquetes y entornos

Uso

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

Crea y arranca un contenedor nuevo desde una imagen cada vez, así que ejecutarlo dos veces deja dos contenedores y reiniciar uno existente es docker start; sin -p nada es accesible desde el host, y sin -v lo escrito muere con el contenedor.

Opciones habituales

OpciónSignificado
-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

Ejemplos

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

La pregunta siempre es qué va dónde: dentro de este proyecto o en todo el sistema.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace docker run?

Crea y arranca un contenedor nuevo desde una imagen cada vez, así que ejecutarlo dos veces deja dos contenedores y reiniciar uno existente es docker start; sin -p nada es accesible desde el host, y sin -v lo escrito muere con el contenedor.

Q. ¿Cómo se escribe?

docker run [-d] [-p <host>:<container>] <image> [command] — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 8; la lista completa está en man docker. Este comando está en Paquetes y entornos.

Comandos relacionados

página man: man docker-run