tag run name library imagenes hub example dockers container change docker

run - dockers container download



Obtener la identificación del contenedor de Docker del nombre del contenedor (5)

  1. Obtener ID de contenedor de contenedores en ejecución ::

    $docker ps -qf "name=IMAGE_NAME" -f: Filter output based on conditions provided -q: Only display numeric container IDs

  2. Obtener ID de contenedor de todos los contenedores ::

    $docker ps -aqf "name=IMAGE_NAME" -a: all containers

¿Cuál es el comando para obtener la ID del contenedor de Docker del nombre del contenedor?


En Linux:

sudo docker ps -aqf "name=containername"

O en OS X:

docker ps -aqf "name=containername"

donde containername es el nombre de tu contenedor.

Para evitar obtener falsos positivos, como señala @llia Sidorenko, puede usar anclas regex de esta manera:

docker ps -aqf "name=^containername$"

explicación:

  • -q para callar. generar solo la ID
  • -a para todos. funciona incluso si su contenedor no está funcionando
  • -f para filter .
  • ^ nombre del contenedor debe comenzar con esta cadena
  • $ nombre del contenedor $ debe terminar con esta cadena

La forma más simple en la que puedo pensar es analizar la salida de docker ps

Ejecutemos la última imagen de ubuntu de forma interactiva y conectemos a ella

docker run -it ubuntu /bin/bash

Si ejecuta docker ps en otra terminal, puede ver algo como

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8fddbcbb101c ubuntu:latest "/bin/bash" 10 minutes ago Up 10 minutes gloomy_pasteur

Desafortunadamente, analizar este formato no es fácil ya que usan espacios para alinear cosas manualmente

$ sudo docker ps | sed -e ''s/ /@/g'' CONTAINER@ID@@@@@@@@IMAGE@@@@@@@@@@@@@@@COMMAND@@@@@@@@@@@@@CREATED@@@@@@@@@@@@@STATUS@@@@@@@@@@@@@@PORTS@@@@@@@@@@@@@@@NAMES 8fddbcbb101c@@@@@@@@ubuntu:latest@@@@@@@"/bin/bash"@@@@@@@@@13@minutes@ago@@@@@@Up@13@minutes@@@@@@@@@@@@@@@@@@@@@@@@@@@gloomy_pasteur@@@@@@

Aquí hay un script que convierte la salida a JSON.

https://gist.github.com/mminer/a08566f13ef687c17b39

En realidad, la salida es un poco más conveniente para trabajar que eso. Cada campo tiene 20 caracteres de ancho. [[''CONTAINER ID'',0],[''IMAGE'',20],[''COMMAND'',40],[''CREATED'',60],[''STATUS'',80],[''PORTS'',100],[''NAMES'',120]]


Puedes probar esto:

docker inspect --format="{{.Id}}" container_name

Este enfoque es independiente del sistema operativo.


Si desea obtener ContainerId completo basado en el nombre del contenedor, utilice el siguiente comando

docker ps --no-trunc -aqf name=containername