Я могу ssh на машину и запустить следующий скрипт
echo testing
docker-compose exec -T meteor php artisan down
echo done
, который возвращает
testing
Application is now in maintenance mode.
done
Однако, если я пытаюсь запустить эту команду через ssh, она выходит сразу после докерасоставить звонок.
ssh me@me.com << EOF
echo testing
docker-compose exec -T meteor php artisan down
echo done
EOF
дает
testing
Application is now in maintenance mode.
то есть done
отсутствует
Я могу продолжить, добавив &&
после команды docker-compose, но яУ меня длинный сценарий, и он делает уродливым и подверженным ошибкам, если мне нужно подробно изложить это.
Любая идея, почему это происходит, и что я могу изменить, чтобы исправить это.
Обновление
Я удалил -T
из docker-compose и скрипт завершился, однако он выдал сообщение the input device is not a TTY
.Похоже, он не может выделить интерактивную консоль.Немного погуглив, я обнаружил, что могу позвонить
export COMPOSE_INTERACTIVE_NO_CLI=1
, и тогда он будет работать до завершения без сообщений об ошибках.
Спасибо всем за помощь:)