при запуске docker compose в конвейере я получаю эту ошибку, когда тесты на конвейере используют API mycontainer.
panic: Get "http://localhost:8080/api/admin/folder": read tcp 127.0.0.1:60066->127.0.0.1:8080: read: connection reset by peer [recovered]
panic: Get "http://localhost:8080/api/admin/folder": read tcp 127.0.0.1:60066->127.0.0.1:8080: read: connection reset by peer
Это мой файл docker copose:
version: "3"
volumes:
postgres_vol:
driver: local
driver_opts:
o: size=1000m
device: tmpfs
type: tmpfs
networks:
mynetwork:
driver: bridge
services:
postgres:
image: postgres:14
container_name: postgres
restart: always
environment:
- POSTGRES_USER=xxx
- POSTGRES_PASSWORD=xxx
- POSTGRES_DB=newdatabase
volumes:
#- ./postgres-init-db.sql:/docker-entrypoint-initdb.d/postgres-init-db.sql
- "postgres_vol:/var/lib/postgresql/data"
ports:
- 5432:5432
networks:
- mynetwork
mycontainer:
image: myprivaterepo/mycontainer-image:1.0.0
container_name: mycontainer
restart: always
environment:
- DATABASE_HOST=postgres
- DATABASE_PORT=5432
- DATABASE_NAME=newdatabase
- DATABASE_USERNAME=xxx
- DATABASE_PASSWORD=xxx
- DATABASE_SSL=false
depends_on:
- postgres
ports:
- 8080:8080
networks:
- mynetwork
mycontainer
слушает порт 8080
и локально все работает нормально.
Однако, когда я запускаю конвейер, который инициирует этот докер, я получаю сообщение об ошибке.
По сути, я запускаю несколько тестов, которые используют mycontainer
API (http://localhost:8080/api/admin/folder).
Если я запускаю docker compose локально и воспроизвожу шаги, выполняемые в моем конвейере, чтобы использовать API, все работает нормально. Я могу локально общаться с обоими контейнерами через localhost.
Кроме того, я попытался использовать проверки работоспособности в контейнерах и 127.0.0.1:8080:8080 в mycontainer и 127.0.0.1:5432:5432 в postgres (включая 0.0.0.0:8080:8080 и 0.0.0.0:5342:5432 на всякий случай) .
Любая идея об этом?
🤔 А знаете ли вы, что...
PostgreSQL поддерживает хранимые процедуры и функции, написанные на языках, таких как PL/pgSQL.