Compose: Переменные среды не устанавливаются при использовании docker-compose через ssh

Созданный на 29 дек. 2016  ·  4Комментарии  ·  Источник: docker/compose

Привет,

Учитывая docker-compose 1.9.0 и следующий docker-compose.yml:

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

Когда я выполняю следующую команду:

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

Тогда переменная среды имени хоста не распознается. Я получаю следующее сообщение:

Переменная HOSTNAME не установлена. По умолчанию пустая строка.

Если я выполняю ту же команду на хосте «bar» с пользователем «foo», я не получаю сообщение об ошибке. То же самое, если я сначала подключаюсь к ssh, а затем выполняю команду.
Для нас это серьезная проблема. Этот рабочий процесс происходит в нашем CI.

Единственный обходной путь, который мы нашли, - написать следующий скрипт:

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

И выполнить через ssh .. Что некрасиво ..

kinquestion

Самый полезный комментарий

Я нашел это, что кажется актуальным. bash по умолчанию не экспортирует $HOSTNAME , что объясняет, почему его не видит docker-compose .

Мне удалось воспроизвести локально в моей среде Ubuntu 16.04, поэтому я могу подтвердить, что это тоже не имеет ничего общего с SSH.

Все 4 Комментарий

Ну, разве это не происходит, потому что при выполнении команды напрямую через ssh вы на самом деле не открываете оболочку? Это означает, что некоторые переменные среды, такие как $HOSTNAME , не будут установлены?

Похоже, ваша проблема связана с UNIX и / или SSH - я не вижу ничего, что можно было бы сделать с этим на уровне Compose.

Вот о чем я думал. Но работает следующая команда. Это означает, что переменная HOSTNAME правильно установлена ​​во время сеанса ssh. Так что я не знаю, почему Compose не распознает это ... Это странно.

Я нашел это, что кажется актуальным. bash по умолчанию не экспортирует $HOSTNAME , что объясняет, почему его не видит docker-compose .

Мне удалось воспроизвести локально в моей среде Ubuntu 16.04, поэтому я могу подтвердить, что это тоже не имеет ничего общего с SSH.

@ shin- @made Как это исправить на Ubuntu, поясните, пожалуйста?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги