Как взаимодействовать между несколькими Docker-контейнерами, например, Ubuntu-контейнером с Selen Hub-контейнером - PullRequest
0 голосов
/ 16 мая 2019

У меня есть следующие три docker-контейнера: 1. Контейнер Ubuntu с Mono, в котором есть сценарии селена (DLL). 2. Контейнер-селен Selenium. 3. Контейнер узла Selenium Chrome

при создании файла создания Docker. Все триконтейнеры запущены, контейнер Ubuntu завершается через некоторое время без выполнения каких-либо тестов. Есть идеи, как это реализовать?

Я выполняю тесты в контейнере Ubuntu с использованием mono и хотел бы создать образ докера, как только это сработает.Любое объяснение или пример кода на этом было бы действительно здорово.

Я создал мост и назначил статический ip для всех трех контейнеров.

Файл составления Docker:

version: '3.7'
services:
  seleniumhub:
      image: selenium/hub
      container_name: hubcontainer
      networks:
         ynetwork:
           ipv4_address: 172.21.0.2
      ports:
         - "4444:4444"
      privileged: true

  nodechrome:
      image: selenium/node-chrome-debug
      container_name: chromecontainer
      volumes:
      - /dev/shm:/dev/shm
      depends_on:
         - seleniumhub
      environment:
         - HUB_HOST=seleniumhub
         - HUB_PORT=4444
         - NODE_MAX_INSTANCES=5
         - NODE_MAX_SESSION=5
         - START_XVFB=false
      networks:
         ynetwork:
            ipv4_address: 172.21.0.10

  Mytests:
      container_name: Myubuntutests
      depends_on:
         - seleniumhub
         - nodechrome
      networks:
         ynetwork:
            ipv4_address: 172.21.0.11
      build:
         context: .
         dockerfile: ubuntu.Dockerfile
networks:
  ynetwork:
      name: ytestsnetwork
      driver: bridge
      ipam:
         config:
         - subnet: 172.21.0.0/16

Docker File ubuntu.Dockerfile

FROM ubuntu
COPY /bin/Debug/ /MyTests
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Tokyo
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && apt-get update && apt-get clean && apt-get install -y wget && apt-get install -y curl && apt-get install -y nuget && apt-get install -y mono-complete && apt-get update && nuget update -self && nuget install testrunner
WORKDIR "/MyTests"
ENTRYPOINT mono /TestRunner.1.8.0/tools/testrunner.exe MyTests.dll
Docker Compose commands used (tried):
docker-compose up --build
docker-compose up --build -d

Я ожидаю, что Docker Compose соберет все три контейнера, выполнит тесты и завершит работу, как только будет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...