如何通过Docker-Compose读取JSON文件初始化PostgreSQL容器
配置方案
要让Docker容器内可以正常访问test.json,只需要在现有配置中新增目录挂载规则,把宿主机存放JSON文件的路径映射到容器内的/tmp路径即可。
调整后的docker-compose.yml示例
假设你宿主机上的test.json存放在当前项目的./local-json目录下,修改后的配置如下:
version: '3' services: db: image: postgres:12 restart: always environment: - POSTGRES_USER=root - POSTGRES_PASSWORD=password volumes: - ./postgres:/docker-entrypoint-initdb.d/ # 新增挂载规则:将宿主机JSON目录映射到容器内的/tmp路径 - ./local-json:/tmp ports: - 5420:5420
补充说明
- 配置前请确保宿主机
./local-json目录下存在你要导入的test.json文件 - 你可以根据实际需求修改冒号左侧的宿主机路径,匹配你本地JSON文件的存放位置
- 如果不需要映射整个目录,也可以直接做单个文件挂载:
./local-json/test.json:/tmp/test.json,避免容器内/tmp下原有文件被覆盖
内容的提问来源于stack exchange,提问作者PeterCode
相关产品推荐
相关产品推荐

