Compose: Las variables de entorno no se establecen cuando se usa docker-compose a través de ssh

Creado en 29 dic. 2016  ·  4Comentarios  ·  Fuente: docker/compose

Hola,

Dado docker-compose 1.9.0 y el siguiente docker-compose.yml:

version: '2'
services:
kafka:
image: wurstmeister/kafka
environment:
KAFKA_ADVERTISED_HOST_NAME: ${HOSTNAME}

Cuando ejecuto el siguiente comando:

ssh [email protected] "docker-compose up -d

Entonces no se reconoce la variable de entorno del nombre de host. Recibo el siguiente mensaje:

La variable HOSTNAME no está configurada. Por defecto a una cadena en blanco.

Si ejecuto el mismo comando en la "barra" del host con el usuario "foo", no obtengo el error. Lo mismo si primero me conecto con ssh y luego ejecuto el comando.
Este es un tema importante para nosotros. Este flujo de trabajo ocurre en nuestro CI.

La única solución que encontramos es escribir el siguiente script:

#!/bin/bash
export HOSTNAME=${HOSTNAME}
docker-compose up -d

Y ejecutarlo a través de ssh .. Que no es guapo ..

kinquestion

Comentario más útil

Encontré esto que parece relevante. bash no exporta $HOSTNAME de forma predeterminada, lo que explica por qué docker-compose no lo ve.

Pude reproducir localmente en mi entorno Ubuntu 16.04, así que puedo confirmar que esto tampoco tiene nada que ver con SSH.

Todos 4 comentarios

Bueno, ¿no sucede eso porque al ejecutar el comando a través de ssh directamente, en realidad no está abriendo un shell? ¿Significa que algunas variables de entorno como $HOSTNAME no se establecerán?

Parece que su problema es con UNIX y / o SSH; no veo nada que se pueda hacer al respecto en el nivel de redacción.

Eso es lo que estaba pensando. Pero la siguiente solución de comando funciona ... Lo que significa que la variable HOSTNAME está configurada correctamente durante la sesión ssh. Entonces no sé por qué componer no lo reconozco ... Eso es raro.

Encontré esto que parece relevante. bash no exporta $HOSTNAME de forma predeterminada, lo que explica por qué docker-compose no lo ve.

Pude reproducir localmente en mi entorno Ubuntu 16.04, así que puedo confirmar que esto tampoco tiene nada que ver con SSH.

@ shin- @made ¿Cómo solucionar esto en Ubuntu, por favor aclare?

¿Fue útil esta página
0 / 5 - 0 calificaciones