Arquillian cube: проблема запуска нескольких изображений - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть файл 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)

Буду признателен за помощь в этом.Я знаю, что здесь чего-то не хватает

...