У меня есть файл compose, который я могу запустить с помощью команды docker-compose,
m-c02wt0e3htdg: arquillian-cub r0s0164 $ docker-compose -f docker_compose.yml up -d
Создание сети "arquillian-cub_default" с драйвером по умолчанию
Создание arquillian-cub_fake_1 ... выполнено
Создание arquillian-cub_tomcat_1 ... выполнено
m-c02wt0e3htdg: arquillian-cub r0s0164 $ контейнер докера ls ИД КОНТЕЙНЕРА ИМИДЖ СОЗДАНИЕ КОМАНДЫ СОЗДАННЫЕ ИМЕНА ПОРТОВ СОСТОЯНИЯ ef8693bc7006 tutum / tomcat: 7.0 "/run.sh" 10 секунд назад Up 9 секунд 0.0.0.0:8181->8080/tcp arquillian-cub_tomcat*
8b11de635750 cicd / my-fake-service: last "java -cp app: app / li…" 10 секунд назад Up 9 секунд 8081-8082 / tcp, 0.0.0.0:9191->8080/tcp arquillian-cub_fake_1
m-c02wt0e3htdg: arquillian-cub r0s0164 $ curl -I http://localhost:8181 HTTP / 1.1 200 OK Сервер: Apache-Coyote / 1.1 Тип содержимого: текст / html; кодировка = ISO-8859-1 Transfer-Encoding: chunked Дата: вт, 11 дек. 2018 г. 06:01:25 GMT
mc02wt0e3htdg: arquillian-cub r0s0164 $ curl -I http://localhost:9191 HTTP / 1.1 404 Тип содержимого: application / json; charset = UTF-8 Кодирование передачи: chunked Дата: вторник, 11 декабря 2018 г. 06:01:35GMT
Тот же самый файл docker-compose, который я указываю в arquillian.xml
<?xml version="1.0" encoding="UTF-8"?>
<arquillian
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://jboss.org/schema/arquillian"
xsi:schemaLocation="http://jboss.org/schema/arquillian
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<extension qualifier="docker">
<property name="serverVersion">1.30</property>
<property name="definitionFormat">COMPOSE</property>
<property name="dockerContainersFile">docker_compose.yml</property>
</extension>
</arquillian>
Консоль:
CubeDockerConfiguration:
serverVersion = 1.30
serverUri = unix:///var/run/docker.sock
tlsVerify = false
dockerServerIp = localhost
definitionFormat = COMPOSE
clean = false
removeVolumes = true
dockerContainers = containers:
tomcat:
alwaysPull: false
image: tutum/tomcat:7.0
killContainer: false
manual: false
networkMode: arquillian-cub_default
networks: [arquillian-cub_default]
portBindings: !!set {8181->8080/tcp: null}
readonlyRootfs: false
removeVolumes: true
fake:
alwaysPull: false
exposedPorts: !!set {8082/tcp: null}
image: cicd/my-fake-service:latest
killContainer: false
manual: false
networkMode: arquillian-cub_default
networks: [arquillian-cub_default]
portBindings: !!set {9191->8080/tcp: null}
readonlyRootfs: false
removeVolumes: true
networks:
arquillian-cub_default: {driver: bridge}
Я получаю ОШИБКУ во время выполнения тестов:
Причина: java.lang.IllegalArgumentException: порт не указан, и во всех контейнерах имеется более одного порта привязки.at org.arquillian.cube.docker.impl.util.SinglePortBindResolver.resolvePortBindPort (SinglePortBindResolver.java:161)
Буду признателен за помощь в этом.Я знаю, что здесь чего-то не хватает