Рабочий процесс Github Actions: невозможно подключиться к специально созданному порту контейнера Docker через image://имя-контейнера:порт/остальные/из/пути

Моя цель : я зафиксирую PR для репо, который запускает рабочий процесс GA. Сюда входит создание образа Docker для этого репозитория вместе с другими образами.

Все их изображения создаются путем проверки их репозиториев, потому что моя команда хочет избежать извлечения их изображений. Таким образом, я не могу использовать настройку рабочего процесса сервис-контейнеров, поскольку для этого требуется извлечение образов из Docker Hub или AWS ECR.

При запуске моего рабочего процесса GA после создания моих контейнеров в докере я не могу получить каналы с URL-адреса моего контейнера Docker ( image://container-name:port/rest/of/path). Вместо этого я вижу эту ошибку

Другие попытки:

  1. Используя http:/localhost:port/rest/of/path. Получил ту же ошибку ECONNREFUSED 127.0.0.1:80
  2. Используя IP-адрес контейнера Docker http:docker.ip:port/rest/of/path. Получил другую ошибку Error: connect EHOSTUNREACH 172.18.0.6:8088 at TCPConnectWrap.afterConnect
  3. Создайте Docker-образ моих тестов, добавив его в файл docker-compose и повторив описанные выше шаги. Те же ошибки.

Если это обеспечивает больше контекста, я добавил шаблон моего docker-compose.yml ниже. У каждого из них, кроме образов БД, есть репо. Они зависят друг от друга следующим образом

Контейнеры: C -> B + A -> db

*тесты выполняются на C

Я начинаю свой рабочий процесс GA, как показано ниже:

  1. Запустите PR для C , и он запустит рабочий процесс GA.
  2. Оформить заказ в каждом из указанных выше репозиториев (кроме db, это общедоступно)
  3. Создайте каждое из их изображений, а затем docker-compose up
  4. Изучите репозиторий моих тестов и запустите их в фидах URL-адреса локального хоста C (C://C:3333/rest/of/path).
      version: "3"

services:
  db:
    image: mongo:latest
    container_name: db
  db-seed:
    image: mongo:latest
    container_name: db_seed
    links:
      - db
    volumes_from:
      - db
    command:
      /import.sh
  A:
    image: ecr-aws/A
    container_name: api
    ports:
        - 1111:1111
    env_file:
      - 'A/.env'
    depends_on: 
      - db
  B:
    image: ecr-aws/B
    container_name: B
    ports:
      - 2222:2222
    env_file:
      - 'B/.env'
    depends_on: 
      - db
  C:
    image: ecr-aws/C
    container_name: C
    ports:
      - 3333:3333
    env_file:
      - 'C/.env'
    depends_on:
      - A

0 ответов

Другие вопросы по тегам