Я использую Docker для запуска автоматического тестирования браузера с помощью nightwatch.jsкоманда Docker не будет работать, если я не открыть интерактивный терминал Баша
Когда я открываю интерактивный терминал работает нормально, например,
docker run -it --rm username/image-name /bin/bash
, что дает мне Баш подсказку и я бегу:
xvfb-run node nightwatch.js
и все работает отлично.
Но когда я бегу:
docker run --rm username/image-name xvfb-run node nightwatch.js
Это просто висит.
В чем разница между открытием терминала bash и ручным запуском тестовой команды и просто запуск тестовой команды напрямую? Неужели они оба должны работать?
Эксплуатация 'node nightwatch.js' может иметь различное значение внутри и снаружи контейнера. При запуске внутри контейнера он может иметь доступ к проекту, но вне контейнера, его совершенно другая область. Вы можете включить его в файл Docker. –
Это все равно поможет использовать опцию '-ti' для' docker run --rm имя_пользователя/image-name xvfb-run node nightwatch.js'? – Yuva
Спасибо за ваши предложения, но добавление опции -ti не помогает. Контейнер имеет доступ к проекту с помощью смонтированного тома, например. -v $ (pwd):/tmp/ – simbro