我尝试通过编写docker-compose文件来创建几个postgres数据库,并在容器启动时创建数据库。问题是-没有创建数据库
我不明白为什么它不能创建。但是,如果我只尝试使用一个postgres,它就能正常工作。我错过了什么?
效果很好:
services:
tenant_first:
image: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql/data/
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=tenant_first
ports:
- 50005:5432无法工作(如果有多个录制,则不创建数据库)
services:
tenant_first:
image: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql/data/
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=tenant_first
ports:
- 50005:5432
tenant_second:
image: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql/data/
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=tenant_second
ports:
- 50008:5432我做了添加音量的工作
volumes:
pgdata:
pgdata2:发布于 2021-10-17 12:41:45
下面是我所做的完全可行的解决方案
version: '3.3'
services:
tenant_first:
image: postgres
restart: always
volumes:
- pgdata:/var/lib/postgresql/data/
- ./sql/initdb.sh:/docker-entrypoint-initdb.d/initdb.sh
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
ports:
- 50005:5432
#
tenant_fours:
image: postgres
restart: always
volumes:
- pgdata2:/var/lib/postgresql/data/
- ./sql/initdb_f.sh:/docker-entrypoint-initdb.d/initdb_f.sh
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
ports:
- 50008:5432
networks:
default:
external:
name: flask_mu_one_dbs
volumes:
pgdata:
pgdata2:initdb.sh
#!/bin/bash
psql -U postgres
psql -c "create database tenant_first"initdb_f.sh
#!/bin/bash
psql -U postgres
psql -c "create database tenant_fours"https://stackoverflow.com/questions/69604111
复制相似问题