Как я могу экспортировать результаты моих тестов из контейнера docker в каталог на хост-компьютере? - PullRequest
2 голосов
/ 29 января 2020

Я запускаю некоторые тесты в контейнере docker, в конце отчеты о тестах генерируются в каталоге с именем 'allure_test_results', и я хотел бы, чтобы эти отчеты были доступны на хост-компьютере.

1 .Команда в файле bash, который я запускаю в качестве точки входа в файле docker:

behave -f allure_behave.formatter:AllureFormatter -o allure_test_results service/features/

2. Изображение docker также будет запускаться в Jenkins CI и я хотел бы, чтобы произошло то же самое.

3. Решения, которые я пробовал (контейнер не запущен):

docker cp <container ID>:/allure_test_results/ allure_test_results/

docker run <image id> cp /allure_test_results/:/<repo root>/allure_test_results/

PS. Было бы здорово, если бы копия могла быть сделана внутри dockerfile или docker -compose

Я был бы очень признателен за любую помощь. Большое вам спасибо, ребята

Ответы [ 4 ]

1 голос
/ 19 февраля 2020
1 голос
/ 29 января 2020

Вы можете сопоставить внутренние каталоги с каталогами хоста. В простом docker используйте следующее

docker run -v <host_directory_path>:/allure_test_results/ allure_test_results docker_image:tag

В docker compose используйте отображение томов, как сказал Азиз.

Volumes:
  - <host_directory_path>:/allure_test_results/ allure_test_results
1 голос
/ 29 января 2020

Я просто понял это. Спасибо большое сообщество. Я добавил это в docker создать файл:

volumes: - ./<host dir>/:/<container dir>/allure_test_results/

0 голосов
/ 29 января 2020

Монтирование тома является опцией в docker:

docker run -v Jenkins _workspace path: / allure_test_results

мы отобразим том в рабочее пространство jenkins и вы можете опубликовать sh эти результаты бин Дженкинс

...