我正在尝试在本地 Windows 机器上使用 Docker Desktop 创建一个简单的演示,使用的是 PostgreSQL 数据库。
这是我的 YAML Docker Compose 文件,名为 img.yaml
:
version: '3.6'
services:
postgres-demo:
image: postgres:11.5-alpine
container_name: postgres-demo
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=Welcome
- POSTGRES_DB=conference_app
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
ports:
- 5432:5432
volumes:
- .:/var/lib/my_data
restart: always
我正在使用以下命令运行它:
docker-compose -f img.yaml up
并获得以下输出:
Starting postgres-demo ... done
Attaching to postgres-demo
postgres-demo | 2020-02-12 17:07:46.487 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
postgres-demo | 2020-02-12 17:07:46.487 UTC [1] LOG: listening on IPv6 address "::", port 5432
postgres-demo | 2020-02-12 17:07:46.508 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres-demo | 2020-02-12 17:07:46.543 UTC [18] LOG: database system was shut down at 2020-02-12 17:07:10 UTC
postgres-demo | 2020-02-12 17:07:46.556 UTC [1] LOG: database system is ready to accept connections
然后,使用以下命令在容器中打开bash:docker exec -it d47056217a97 bash
我想观看容器中的数据库,因此在bash中运行以下命令:psql \dt
但是出现了错误:psql: FATAL: role "root" does not exist
.
尝试使用以下命令创建数据库:psql> create database conference_app;
时出现错误:psql: FATAL: role "conference_app" does not exist
.
我感到困惑。我做错了什么?我的yaml文件有问题吗?
PGUSER: postgres`
对我来说它很有效。 - thiagoBarbosa48