У меня есть следующие три 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 соберет все три контейнера, выполнит тесты и завершит работу, как только будет