Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
encuentre el nombre de la ventana acoplable en una aplicación node.js que se ejecuta dentro del contenedor de la ventana acoplable

Tengo una aplicación node.js ejecutándose dentro de un contenedor acoplable con el nodo de imagen base: 16-alpine3.11. Quiero obtener el nombre del contenedor en el que se está ejecutando.

 ex: docker ps: CONTAINER ID NAMES xyz node test.js: const c_name= //get container name
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Desde fuera del contenedor

Puede usar la ventana acoplable cli para hacer esto. En el ejemplo, filtramos por ancestro bitnami/redis (en su caso, sería node:16-alpine3.11 )

 $ docker container ls --filter "ancestor=bitnami/redis" --format "table {{.ID}}\t{{.Image}}\t{{.Names}}"

Esto devuelve la identificación, el nombre y la imagen del contenedor como una tabla. Para recuperar los resultados como un objeto json, actualice el indicador de formato como se muestra a continuación:

 docker container ls --filter "ancestor=bitnami/redis" --format 'json { "Id":"{{.ID}}", "Image": "{{.Image}}", "Names": "{{.Names}}" }'

Consulte los prácticos documentos de referencia de cli proporcionados por docker.

Desde el interior del contenedor

Pase el socket de Unix al contenedor e invoque un script para obtener el nombre del contenedor:

 $ docker run -it -v "/var/run/docker.sock:/var/run/docker.sock" origami-duckling:latest

El Dockerfile para `origami-duckling se ve así:

 FROM node:16-alpine3.11 WORKDIR /usr/app RUN apk add curl jq ENV DOCKER_HOST="unix:///run/docker.sock" COPY get-container-name.sh /usr/app/get-container-name.sh CMD /usr/app/get-name.sh

Probablemente ejecutaría get-container-name antes de usar cmd para ejecutar la aplicación de nodo en su contenedor.

El get-container-name.sh se vería así:

 #!/usr/bin/env sh export CONTAINER_NAME="$(curl -s --unix-socket /run/docker.sock http://docker/containers/$HOSTNAME/json | jq '.Name')" echo $CONTAINER_NAME

Actualización: puede hacer esto desde su aplicación node.js si necesita:

Estoy usando got@11.8.3, got 12.x es ESM puro.

 const got = require('got'); async function getHostName() { const metadata = await got(`http://unix:/var/run/docker.sock:/containers/${process.env.HOSTNAME}/json`).json(); console.log('Container name', metadata.Name); return metadata.Name }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda