gpt4 book ai didi

docker - 如何在 docker-compose 文件中初始化 PSQL 数据库?

转载 作者:IT老高 更新时间:2023-10-28 21:25:37 26 4
gpt4 key购买 nike

我想知道是否可以在 docker-compose 文件中执行 PSQL 命令。

我有以下 docker-compose.yml :

version: '3' 
services:
postgres:
image: postgres:9.6
container_name: postgres-container
ports:
- "5432:5432"
network_mode: host
environment:
- LC_ALL=C.UTF-8
- POSTGRES_DB=databasename
- POSTGRES_USER=username
- POSTGRES_PASSWORD=
- POSTGRES_PORT=5432

运行正常后,我运行以下命令: docker exec -i postgres-container psql -U username -d databasename < data.sql

这 2 个步骤可以正常工作。但我想知道是否有可能迈出一步。

每次我想运行这个命令。重要的是数据库始终是新的。这就是为什么我不在 volume 中坚持它的原因。并想运行这个命令。

是否可以运行docker-compose up并运行 psql命令?

提前致谢!

最佳答案

带有卷的纯 docker-compose 解决方案,

  volumes:
- ./data.sql:/docker-entrypoint-initdb.d/init.sql

根据dockerfile ,在启动时,它会在 docker-entrypoint-initdb.d

中转储每个 sql 数据

关于docker - 如何在 docker-compose 文件中初始化 PSQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com