docker - docker-compose postgresql docker-entrypoint-initdb.sh 不工作
问题描述
我的 docker-compose.yml 是
database:
container_name: k4fntr_database
build: ./docker/postgres
restart: always
environment:
ENV: ${APP_ENV}
TESTING_DB: ${DB_DATABASE_TESTING}
POSTGRES_DB: ${DB_DATABASE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
ports:
- "15432:5432"
networks:
- backend-network
我的 Dockerfile 是
FROM postgres:10.5-alpine
COPY /docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/
docker-entrypoint-initdb.d 文件夹中的脚本存在于容器内,但未运行
如果我在容器内运行此脚本,它们可以正常工作。
我还尝试删除容器并一次又一次地重建它,但它仍然无法正常工作!
解决方案
“警告:/docker-entrypoint-initdb.d 中的脚本仅在您使用空数据目录启动容器时运行;任何预先存在的数据库在容器启动时都将保持不变。
一个常见问题是,如果您的 /docker-entrypoint-initdb.d 脚本之一失败(这将导致入口点脚本退出)并且您的协调器使用已初始化的数据目录重新启动容器,它将不会继续使用您的脚本。”
来自https://hub.docker.com/_/postgres
更新1:
你确定主机文件夹是/docker-entrypoint-initdb.d/
?(在您主机的根路径上,看起来很奇怪)。也许像./docker-entrypoint-initdb.d/
推荐阅读
- python-3.x - 检查天气文件仍在使用中
- ios - 隐藏和取消隐藏标签栏时管理视图框架
- git - 无法解决 BitBucket git 冲突
- angular - 将多个可观察对象的结果传递给对象
- react-native - React Native flex 和自定义组件布局问题
- excel - 当我在 vba 中保存 pdf 文件时,如何超越“导出为 pdf”对话框
- java - 如何从 DataSource 或 Connection 获取登录对象
- android - 使用日历确定两个日期中的最新日期
- java - 是否可以使用 JpaRepository 在 jsp 中进行分页
- tmux - 如何从 tmux '返回?热键(“帮助”)窗口