A menos que se anule, el nombre de host parece ser el ID de contenedor corto en Docker 1.12
[email protected]:/project# cat /etc/hostname
d2258e6dec11
Externamente
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d2258e6dec11 300518d26271 "bash" 5 minutes ago
$ docker -v
Docker version 1.12.0, build 8eab29e, experimental
Descubrí que la identificación del contenedor se puede encontrar en /proc/self/cgroup
Entonces puedes obtener la identificación con:
cat /proc/self/cgroup | grep -o -e "docker-.*.scope" | head -n 1 | sed "s/docker-\(.*\).scope/\\1/"
Puede comunicarse con la ventana acoplable desde el interior de un contenedor usando un socket de Unix a través de la API remota de Docker:
https://docs.docker.com/engine/reference/api/docker_remote_api/
En un contenedor, puede encontrar una identificación de ventana acoplable abreviada examinando $HOSTNAME
env var. Según doc, existe una pequeña posibilidad de colisión, creo que para una pequeña cantidad de contenedores, no tiene que preocuparse por eso. No sé cómo obtener una identificación completa directamente.
Puede inspeccionar el contenedor de forma similar a como se describe en banyan respuesta:
GET /containers/4abbef615af7/json HTTP/1.1
Respuesta:
HTTP/1.1 200 OK
Content-Type: application/json
{
"Id": "4abbef615af7...... ",
"Created": "2013.....",
...
}
Alternativamente, puede transferir la identificación de la ventana acoplable al contenedor en un archivo. El archivo se encuentra en el "volumen montado", por lo que se transfiere al contenedor:
docker run -t -i -cidfile /mydir/host1.txt -v /mydir:/mydir ubuntu /bin/bash
La identificación de la ventana acoplable (abreviada) estará en el archivo /mydir/host1.txt en el contenedor.