繁体   English   中英

docker-compose postgresql docker-entrypoint-initdb.sh 不工作

[英]docker-compose postgresql docker-entrypoint-initdb.sh not working

我的 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/

我的 sh 脚本有一个错误。 我发现了错误

docker 日志 k4fntr_database

命令

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM