【发布时间】:2022-01-24 14:44:49
【问题描述】:
此错误仅发生在我的 4 台设备中的一台上,我正在尝试对其进行调试。此设备是配备 Intel 处理器的 Macbook pro。 数据库容器(db 服务)启动但不创建数据库。
version: "3.7"
services:
db:
networks:
new:
aliases:
- database
restart: always
container_name: db
image: postgres:latest
ports:
- 5433:5432
environment:
- POSTGRES_PASSWORD=password
- POSTGRES_USER=user
- POSTGRES_DB=core
# - PGDATA=/tmp
volumes:
- ./pgdata:/var/lib/postgresql/data
migrate:
image: migrate/migrate
depends_on:
- db
networks:
- new
volumes:
- ./db/migrations:/migrations
command: ["-path", "/migrations", "-database", "postgres://user:password@database:5432/core?sslmode=disable", "up"]
links:
- db
web:
networks:
- new
build: .
ports:
- "8080:8080"
volumes:
- .:/server
links:
- db
depends_on:
- db
- redis
environment:
PORT: 8080
CONNECTION_STRING_DEV: db://user:password@db:5433/db
DSN: "db://user:password@db:5433/core"
redis:
networks:
- new
image: "redis"
ports:
- "6379:6379"
networks:
new:
容器停在2022-01-19 15:37:02.916 UTC [49] LOG: database system is ready to accept connections 并且从未真正执行过“CREATE DATABASE”
由于未创建数据库,我连接的 Go API 无法正常运行。 docker-compose 应该创建数据库“核心”,启动 redis 实例,然后启动 Web 服务。之后,我通常会拉起进行数据库迁移的迁移容器。当docker-compose up web 运行时,我的所有其他设备(macOS、Windows 和 linux)都可以正常运行并启动数据库。
【问题讨论】:
标签: postgresql docker go docker-compose dockerfile