Рабочий процесс Github Actions: невозможно подключиться к специально созданному порту контейнера Docker через image://имя-контейнера:порт/остальные/из/пути
Моя цель : я зафиксирую PR для репо, который запускает рабочий процесс GA. Сюда входит создание образа Docker для этого репозитория вместе с другими образами.
Все их изображения создаются путем проверки их репозиториев, потому что моя команда хочет избежать извлечения их изображений. Таким образом, я не могу использовать настройку рабочего процесса сервис-контейнеров, поскольку для этого требуется извлечение образов из Docker Hub или AWS ECR.
При запуске моего рабочего процесса GA после создания моих контейнеров в докере я не могу получить каналы с URL-адреса моего контейнера Docker (
image://container-name:port/rest/of/path
). Вместо этого я вижу эту ошибку
Другие попытки:
- Используя http:/localhost:port/rest/of/path. Получил ту же ошибку
ECONNREFUSED 127.0.0.1:80
- Используя IP-адрес контейнера Docker http:docker.ip:port/rest/of/path. Получил другую ошибку
Error: connect EHOSTUNREACH 172.18.0.6:8088 at TCPConnectWrap.afterConnect
- Создайте Docker-образ моих тестов, добавив его в файл docker-compose и повторив описанные выше шаги. Те же ошибки.
Если это обеспечивает больше контекста, я добавил шаблон моего docker-compose.yml ниже. У каждого из них, кроме образов БД, есть репо. Они зависят друг от друга следующим образом
Контейнеры: C -> B + A -> db
*тесты выполняются на C
Я начинаю свой рабочий процесс GA, как показано ниже:
- Запустите PR для C , и он запустит рабочий процесс GA.
- Оформить заказ в каждом из указанных выше репозиториев (кроме db, это общедоступно)
- Создайте каждое из их изображений, а затем
docker-compose up
- Изучите репозиторий моих тестов и запустите их в фидах 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