docker postgress 镜像的凭据无效

问题描述 投票:0回答:1

我正在创建两个数据库:产品和测试数据库:

version: '3.8'

services:
  db:
    image: postgres:13-alpine
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb
    volumes:
      - postgres_test_data:/var/lib/postgresql/data
      - ./db/create_script.sql:/docker-entrypoint-initdb.d/create_script.sql
    ports:
      - "5432:5432"
  test-db:
    image: postgres:13-alpine
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb
    volumes:
      - postgres_test_data:/var/lib/postgresql/data
      - ./db/create_script.sql:/docker-entrypoint-initdb.d/create_script.sql
    ports:
      - "5433:5432"
volumes:
  postgres_prod_data:
  postgres_test_data:

这个 docker compose 可以工作,它创建了镜像,启动了容器。

但是,当我尝试连接到

db
图像时,它显示凭据无效,但是当我尝试连接到
test-db
(实际上是使用更改的端口进行复制粘贴)时,它可以工作。

这是什么原因造成的?这些图像是新创建的,具有新的体积,并且逐字复制粘贴,为什么一个有效而另一个无效?

日志没有指定它们的任何错误。

感谢您的帮助

docker
1个回答
0
投票

db
test-db
使用相同的音量,这可能会导致不一致。

尝试使用不同的卷也许可以解决您的问题。

还要确保重置容器以确保重新开始:

docker-compose down -v
docker-compose up
© www.soinside.com 2019 - 2024. All rights reserved.