¿Cuál es el comando para obtener la identificación del contenedor de la ventana acoplable del nombre del contenedor?
docker --listo similar? ¿Cuál es el comando para crear un nuevo contenedor? etc
¿Cuál es el comando para obtener la identificación del contenedor de la ventana acoplable del nombre del contenedor?
docker --listo similar? ¿Cuál es el comando para crear un nuevo contenedor? etc
Respuestas:
En Linux:
sudo docker ps -aqf "name=containername"
O en OS X, Windows:
docker ps -aqf "name=containername"
¿Dónde containernameestá el nombre de su contenedor?
Para evitar obtener falsos positivos, como señala @llia Sidorenko, puede usar anclajes de expresiones regulares así:
docker ps -aqf "name=^containername$"
explicación:
-qpor tranquilidad. salida solo el ID-apara todos. funciona incluso si su contenedor no se está ejecutando-fpara filtro .^el nombre del contenedor debe comenzar con esta cadena$el nombre del contenedor debe terminar con esta cadena--no-truncbandera. entoncesdocker ps --no-trunc -aqf "name=containername"
docker inspect --format="{{.Id}}" imageNamefuncionó para mí.
Puedes probar esto:
docker inspect --format="{{.Id}}" container_name
Este enfoque es independiente del sistema operativo.
NAMEScolumna con docker ps), proporciona el ID del contenedor. Si en su lugar se proporciona el nombre de la imagen (dado en la IMAGEcolumna con docker ps), en su lugar se genera el ID de la imagen.
Obtener identificadores de contenedores de contenedores en ejecución:
$docker ps -qf "name=IMAGE_NAME"
-f: Filter output based on conditions provided
-q: Only display numeric container IDs
Obtenga ID de contenedor de todos los contenedores:
$docker ps -aqf "name=IMAGE_NAME"
-a: all containers
docker ps -fq no funcionó, pero docker ps -qfsí (orden de las banderas)
El siguiente comando:
docker ps --format 'CONTAINER ID : {{.ID}} | Name: {{.Names}} | Image: {{.Image}} | Ports: {{.Ports}}'
Da esta salida:
CONTAINER ID : d8453812a556 | Name: peer0.ORG2.ac.ae | Image: hyperledger/fabric-peer:1.4 | Ports: 0.0.0.0:27051->7051/tcp, 0.0.0.0:27053->7053/tcp
CONTAINER ID : d11bdaf8e7a0 | Name: peer0.ORG1.ac.ae | Image: hyperledger/fabric-peer:1.4 | Ports: 0.0.0.0:17051->7051/tcp, 0.0.0.0:17053->7053/tcp
CONTAINER ID : b521f48a3cf4 | Name: couchdb1 | Image: hyperledger/fabric-couchdb:0.4.15 | Ports: 4369/tcp, 9100/tcp, 0.0.0.0:5985->5984/tcp
CONTAINER ID : 14436927aff7 | Name: ca.ORG1.ac.ae | Image: hyperledger/fabric-ca:1.4 | Ports: 0.0.0.0:7054->7054/tcp
CONTAINER ID : 9958e9f860cb | Name: couchdb | Image: hyperledger/fabric-couchdb:0.4.15 | Ports: 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp
CONTAINER ID : 107466b8b1cd | Name: ca.ORG2.ac.ae | Image: hyperledger/fabric-ca:1.4 | Ports: 0.0.0.0:7055->7054/tcp
CONTAINER ID : 882aa0101af2 | Name: orderer1.o1.ac.ae | Image: hyperledger/fabric-orderer:1.4 | Ports: 0.0.0.0:7050->7050/tcp`enter code here`
Si desea obtener ContainerId completo según el nombre del contenedor, use el siguiente comando
docker ps --no-trunc -aqf name=containername
La imagen de Docker inspecciona ImageName \ ImageId --format = {{'. ConatinerConfig.Hostname'}}
En mi caso, estaba ejecutando el contenedor Docker de Tensorflow en Ubuntu 20.04: Ejecute su contenedor Docker en una terminal, lo ejecuté con
docker run -it od
Y luego inició otra terminal y corrió a continuación docker pscon sudo:
sudo docker ps
Obtuve con éxito la identificación del contenedor:
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
e4ca1ad20b84 od "/bin/bash" 18 minutes ago
Up 18 minutes unruffled_stonebraker
La forma más sencilla que se me ocurre 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 psen 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]]