当在管道中运行docker compose时,当管道上的测试使用mytainer的API时,我收到了这个错误.

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

这是我的Ducker 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,本地一切正常.

然而,当我运行启动这个停靠器的管道时,Compose就是我得到错误的地方.

基本上,我正在运行一些使用mycontainerAPI(http://localhost:8080/api/admin/folder)的测试.

如果我在本地运行docker compose,并重新执行管道中遵循的步骤,以利用API,则一切正常.我可以通过本地主机与两个容器进行本地通信.

此外,我try 在容器上使用Health Checks,并在postgres中对mytainer&127.0.0.1:5432:5432使用127.0.0.1:8080:8080(包括0.0.0.0:8080:8080&0.0.0.0:5342:5432以防万一).

对此有什么 idea 吗?

推荐答案

我在管道中重现了你的错误.

确保您没有捕获任何内容(例如,与容器的API交互的代码).

您没有提到任何与您的管道相关的内容,但以防万一,请删除您的管道上的捕获.

Postgresql相关问答推荐

如何接受jsonb路径中的任何密钥?

在Postgres中如何连接具有相同名称列的表并更改列名称?

Select 与输入数组完全相交的所有行?

使用 pgAdmin 4 v7.4 在 Windows 11 上全新安装 PostgreSQL 15.3-3 无法启动 - 卡在正在加载 pgAdmin 4 v7.4...

如何将 grafana 与 Google Cloud SQL 集成

无法从在 wsl 2 上运行的服务之一连接到在 wsl 2 上的容器中运行的 postgres 数据库

AWS RDS 公开访问

将 Postgres 与 Grails 一起使用

升级到 OSX Mavericks 后修复 postgresql

从 Select 中创建一个临时表,如果表已经存在则插入

Rails 4 迁移: has_and_belongs_to_many table name

从time without time zone和时区名称中获取time with time zone

由于外键约束无法删除对象

在 Postgresql 中按窗口函数结果过滤

Rails PG::UndefinedTable:错误:missing FROM-clause entry for table

如何从 PostgreSQL 中的 Json 数组中获取元素

在同一台机器上创建多个 Postgres 实例

如何在我的 Mac 上卸载 postgresql(运行 Snow Leopard)

PostgreSQL - 作为表名的动态值

PostgreSQL regexp_replace() 只保留一个空格