我有以下三个Docker容器 1.具有Mono的具有硒脚本(DLL)的Ubuntu容器 2.硒集线器 3. Selenium Chrome节点容器
当我构建Docker Compose文件时,所有三个容器都已启动并正在运行,Ubuntu容器会在一段时间后退出而不执行任何测试。是否有实现的想法?
我正在使用mono在Ubuntu容器中执行测试,并希望在此工作后创建一个docker映像。对此的任何解释或示例代码都非常好。
我已经创建了一个网桥,并为所有三个容器分配了静态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能够构建所有三个容器并执行测试并在完成后退出