Si es nuevo en Docker y lo está aprendiendo siguiendo varios tutoriales, es posible que encuentre términos como iniciar el contenedor de la ventana acoplable, ejecutar el contenedor de la ventana acoplable o crear el contenedor de la ventana acoplable.
Estos términos son suficientes para confundir a un principiante de docker porque los tres comandos de docker parecen similares.
De hecho, es especialmente difícil notar la diferencia entre la ejecución de la ventana acoplable y el inicio de la ventana acoplable.
¿No es lo mismo ejecutar un contenedor que iniciarlo? No realmente.
Déjame explicártelo.
Diferencia entre la ejecución de Docker, el inicio de Docker y la creación de Docker
Esto es lo que hacen estos comandos:
Comando de creación de Docker crea un nuevo contenedor nuevo a partir de una imagen acoplable. Sin embargo, no lo ejecuta inmediatamente.
Comando de inicio de Docker iniciará cualquier contenedor detenido. Si usó el comando docker create para crear un contenedor, puede iniciarlo con este comando.
Comando de ejecución de Docker es una combinación de crear y comenzar, ya que crea un nuevo contenedor y lo inicia de inmediato. De hecho, el comando docker run puede incluso extraer una imagen de Docker Hub si no encuentra la imagen mencionada en su sistema.
Veámoslo con ejemplos para que te quede más claro.
Veámoslo con ejemplos
Asegúrese de haber instalado Docker si desea seguir los ejemplos.
Supongamos que descarga la imagen de Ubuntu desde Docker Hub usando el comando docker pull ubuntu.
Puede ver todas las imágenes acoplables disponibles en su sistema. Solo tengo ubuntu en este ejemplo (para evitar confusiones):
[email protected]:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 775349758637 5 weeks ago 64.2MB
Ahora, cree un nuevo contenedor acoplable denominado contenedor-1 con el comando docker create:
[email protected]:~$ docker create --name container-1 ubuntu
2d9a8c190e6c9b3cbbc032a87762bfbc92f1dc0dd30abbe9bdb3ed7e74a6480f
Puede ver que ha creado un nuevo contenedor. Si intenta ver todos los contenedores en ejecución, no verá el contenedor 1 porque, aunque se creó, nunca se inició.
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Si comprueba todos los contenedores, independientemente de si se están ejecutando o no, verá que el contenedor 1 tiene el estado Creado:
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d9a8c190e6c ubuntu "/bin/bash" 18 seconds ago Created container-1
Ahora usemos el comando docker run para crear y ejecutar un contenedor llamado container-2:
[email protected]:~$ docker run -it -d --name container-2 ubuntu bash
13dc0f4226dc8d9d86e41d927c5616654d8263da2cc8c667aaa5b4dbd7f7e9b3
Puede ver que el contenedor-2 se está ejecutando ya que su estado es Activo:
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" About a minute ago Up About a minute container-2
Detengamos este contenedor en ejecución:
[email protected]:~$ docker stop container-2
container-2
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 2 minutes ago Exited (0) 28 seconds ago container-2
2d9a8c190e6c ubuntu "/bin/bash" 3 minutes ago Created container-1
Ahora que tenemos un contenedor detenido, puede volver a iniciarlo con el comando de inicio de la ventana acoplable :
[email protected]:~$ docker start container-2
container-2
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 2 minutes ago Up 2 seconds container-2
Pero, ¿qué sucede con el contenedor-1 que se creó con el comando docker create? Puede iniciar este contenedor con el comando docker start y luego usar docker exec para ejecutar algo específico con él.
Espero que este artículo le haya dado una mejor comprensión de los comandos docker run, docker start y docker create. Aconsejaré aprender sobre el ciclo de vida del contenedor para comprender mejor este tema.
Comandos de Docker para gestionar el ciclo de vida de los contenedoresConozca el concepto del ciclo de vida de los contenedores. Aprende también los comandos de Docker para gestionar cada etapa del ciclo de vida de los contenedores. Manual de LinuxDebdut ChakrabortySi tiene preguntas o sugerencias, no dude en dejar un comentario a continuación.