Вы не можете запустить сквозные тесты из команды Dockerfile RUN
. Он запускается в среде, где нет постоянного хранилища и контейнер не может получить доступ к другим контейнерам. (Технически говоря, внешние тома не монтируются и работают в мостовой сети по умолчанию.) Это означает, что, если тестируемая система работает в Docker, тестовая сборка не может достичь этого, и в любом случае результаты могут 'не может быть записано где-либо, кроме встроенного образа.
Это также хороший кандидат для запуска чего-либо извне Docker. Часто сквозные тесты вызывают только внешне видимые конечные точки системы и проверяют поведение, наблюдаемое таким образом. Это означает, что вам не нужно вызывать случайные контейнеры в вашем стеке, только один прокси-контейнер nginx, который вы публикуете;нет особой необходимости быть во внутренней сети Docker. Вы также захотите получить опубликованные результаты, и изоляция файловой системы Докера может помешать вам, и вы можете захотеть повторно запустить тесты с незначительными изменениями (а не повторно docker build
).