Как скопировать файлы из Docker-контейнера на хост, используя docker-compose на Docker-машине - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть отчеты, сгенерированные в контейнере gradle для моих тестов селена, я пытаюсь скопировать файлы из контейнера докера на локальный хост.В качестве обходного пути я использовал docker cp для копирования файлов из контейнера в мой локальный каталог, и он работает.Как этого добиться с помощью томов docker-compose.

Ниже мой docker-compose.yml

version: "3 "
services:
  selenium-hub:
    image: selenium/hub
    container_name: selenium-hub_compose
    ports:
      - "4444:4444"
  chrome:
    image: selenium/node-chrome-debug
    container_name: selenium-chrome
    depends_on:
      - selenium-hub
    ports:
      - "5900"
    environment:
      - http_proxy=http://x.x.x.x:83
      - https_proxy=http://x.x.x.x:83
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
  gradle:
   image: gradle:jdk8
   container_name: selenium-gradle
   build:
      context: .
      dockerfile: dockerfile

Я запускаю команду docker-compose up -> она запускает тесты селена и генерирует отчет в контейнере.

Кто-нибудь может помочь с этим?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018
  1. Выключить машину в виртуальном окне -> Изменить дополнительные параметры в виртуальном окне

  2. Перейти к общим папкам в виртуальном окне «Путь к пути» :: C: \DockerResults: присвойте логическое имя имени папки

  3. Перезапустите компьютер в DockerTerminal с помощью приведенной ниже команды: перезапуск докер-машины по умолчанию

  4. После машиныоткройте виртуальное окно. Создайте каталог на виртуальной машине: sudo mkdir / Results

  5. Смонтируйте каталог на локальном компьютере Windows, выполнив в виртуальном окне следующую команду: Sudo mount –t vboxsf DockerResults/ Results
  6. Добавить тома, как показано ниже в файле docker-compose

тома:

    - /DockerResults:/home/Reports/
0 голосов
/ 06 декабря 2018

Обычный способ передачи данных из контейнера на хост - использование томов докера.Короче говоря, вы указываете каталог хоста и сопоставляете его с каталогом внутри контейнера.И этот каталог должен использоваться для сохранения ваших тестовых отчетов

services:
  selenium-hub:
    image: selenium/hub
    container_name: selenium-hub_compose
    ports:
      - "4444:4444"
    volumes:
      - ./path/to/report/folder:/host/reports
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...