GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo listar/iniciar/detener/eliminar contenedores docker

Qué es un Contenedor Docker

Una instancia en ejecución de una imagen se denomina contenedor. Docker los lanza usando las imágenes de Docker como plantillas de solo lectura. Si inicia una imagen, tiene un contenedor en ejecución de esta imagen. Naturalmente, puede tener muchos contenedores en ejecución de la misma imagen. Usamos el comando “docker run ” para ejecutar un contenedor.

Listado de contenedores Docker

Para enumerar los contenedores, ejecute el siguiente comando:

# docker ps [ OPTIONS ]

Para enumerar los contenedores en ejecución y detenidos, use la opción -a de la siguiente manera:

# docker ps -a

aquí,
ID DEL CONTENEDOR – ID único otorgado a todos los contenedores.
IMAGEN – Imagen base a partir de la cual se ha iniciado el contenedor.
COMANDO – Comando que se usó cuando se inició el contenedor (el valor predeterminado es /bin/bash, si no especifica ningún comando con “docker run”).
CREADO – Hora en la que se creó el contenedor.
ESTADO – El estado actual del contenedor (Up o Exited).
PUERTOS – Números de puerto, si los hay, reenviados al host docker para comunicarse con el mundo exterior.
NOMBRES – El daemon de Dockers nombra el clúster de alguna manera divertida. Sin embargo, también puede especificar su propio nombre mientras genera un contenedor.

Para enumerar solo el ID del contenedor, use -aq opción.

# docker ps -qa
eeae1186ea78
52249ba75f0f
709773bb7128

Para enumerar el último contenedor creado (en ejecución o detenido):

# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
eeae1186ea78        centos              "/bin/bash"         About a minute ago   Up About a minute                       modest_hypatia

Inicio de un contenedor Docker

Use el siguiente comando para iniciar un contenedor Docker:

# docker run [ OPTIONS ]  IMAGE[:TAG]  [COMMAND]  [ARG...]

Por ejemplo:

# docker run -i -t --name=centos7_lab centos:latest /bin/bash

aquí,
-i :inicia el contenedor en modo interactivo.
-t :asigna un pseudo-tty y lo adjunta a la entrada estándar
–name :nombre fácil de usar para el contenedor. Si no se especifica el nombre, se asignará una cadena aleatoria como nombre del contenedor.

Cuando ejecuta un comando docker con -t, se adjuntará al contenedor inmediatamente y verá que el símbolo del sistema cambia. Puede usar el comando "salir" para salir del contenedor.

Nota :cuando ejecuta un comando "docker run" y la imagen no está disponible localmente en el sistema, primero se descargará del registro usando los comandos "docker search" y "docker pull" antes de ejecutar el comando "docker run".

En todos los ejemplos anteriores, cuando inicia el contenedor, automáticamente inicia sesión en él. Y cuando sales del contenedor, el contenedor se detiene. También puede mantener el contenedor en ejecución incluso cuando cierre la sesión usando -d opción. Por ejemplo:

# docker run -itd --name=geeklab centos:latest /bin/bash
cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa

Aquí,
-d – Ejecuta el contenedor en segundo plano e imprime el ID del contenedor.

Detención de un contenedor Docker

Puede detener uno o más (todos) contenedores a la vez. La sintaxis del comando para detener un contenedor docker es:

docker stop [-t|--time[=10]] CONTAINER [CONTAINER...]

Aquí,
–tiempo/-t hay un período de gracia para esperar antes de detener el contenedor.

Por ejemplo, primero verifique qué contenedor se está ejecutando.

# docker ps -q
eeae1186ea78

Ahora, para detener el contenedor anterior, use el siguiente comando.

# docker stop eeae1186ea78
eeae1186ea78

Para detener todos los contenedores, ejecute el siguiente comando:

# docker stop `docker ps -q`

Eliminación de un contenedor Docker

Para eliminar el contenedor docker, use la siguiente sintaxis:

# docker rm [ OPTIONS ] CONTAINER [ CONTAINER ]

Por ejemplo:

# docker rm eeae1186ea78
eeae1186ea78

Para eliminar un contenedor, primero debemos detenerlo. Por ejemplo, si intenta eliminar un contenedor en ejecución, obtendrá un error como:

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
cae760f70ec4        centos:latest       "/bin/bash"         4 minutes ago       Up 4 minutes                            geeklab
# docker rm cae760f70ec4
Error response from daemon: You cannot remove a running container cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa. Stop the container before a
ttempting removal or force remove

Entonces, para eliminar el contenedor, primero deténgalo y luego elimínelo.

# docker stop cae760f70ec4
cae760f70ec4
# docker rm cae760f70ec4
cae760f70ec4

Para eliminar a la fuerza un contenedor sin detenerlo, utilice -f opción.

# docker rm -f 18a1924e8499
18a1924e8499

Para eliminar todos los contenedores a la vez, primero deténgalos todos y luego elimínelos.

# docker stop `docker ps -q`
# docker rm `docker ps -aq`
Solución de problemas de Docker:"Conflicto:no se puede eliminar, la imagen está siendo utilizada por el contenedor en ejecución"
Cómo instalar Docker en CentOS / RHEL / Fedora


Docker
  1. Cómo crear, enumerar y eliminar contenedores Docker en Linux

  2. Cómo buscar, extraer, enumerar y eliminar imágenes de Docker en Linux

  3. Cómo compartir datos entre contenedores Docker

  4. Cómo listar contenedores Docker

  5. Cómo instalar, ejecutar y eliminar aplicaciones dentro de contenedores Docker:parte 2

Cómo usar SSH en contenedores Docker [paso a paso]

Cómo ejecutar contenedores Docker

Cómo eliminar contenedores Docker

Cómo detener los contenedores de Docker

Cómo nombrar o renombrar contenedores Docker

Cómo gestionar contenedores Docker