我的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文件夹中的脚本位于容器内,但未运行
如果我在容器中运行此脚本,它们将正常工作。
我还试图删除容器并一次又一次地重建它,但是它仍然无法正常工作!
答案 0 :(得分:0)
“警告:/docker-entrypoint-initdb.d中的脚本仅在您使用数据目录为空的容器启动容器时运行;在容器启动时,任何现有数据库都将保持不变。
一个常见问题是,如果您的/docker-entrypoint-initdb.d脚本之一失败(这将导致入口点脚本退出),并且协调器将使用已初始化的数据重新启动容器目录,它将不会继续使用您的脚本。”
来自https://hub.docker.com/_/postgres
更新1 :
您确定主机文件夹为/docker-entrypoint-initdb.d/
吗? (在主机的根路径上,看起来很奇怪)。也许像./docker-entrypoint-initdb.d/
答案 1 :(得分:0)
我的sh脚本只是一个错误。我发现
错误docker日志k4fntr_database
命令