【问题标题】:docker-entrypoint-initdb.d bad interpreter: Permission denieddocker-entrypoint-initdb.d 错误解释器:权限被拒绝
【发布时间】:2021-07-21 21:36:46
【问题描述】:

您好,我在我的应用程序中使用了postgres docker-compose。当我尝试在我的本地机器(macOS Big Sur)上运行它时,我遇到了错误并且postgres 容器已退出。

 /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/postgres-ssl.sh
/usr/local/bin/docker-entrypoint.sh: /docker-entrypoint-initdb.d/postgres-ssl.sh: /bin/bash: bad interpreter: Permission denied

下面是我的docker-compose

postgres:
build:
  context: ./setup/postgres
  dockerfile: ./Dockerfile
command:
  -c ssl=on -c ssl_cert_file=/var/lib/postgresql/ssl/certs/server.crt
  -c ssl_key_file=/var/lib/postgresql/ssl/certs/server.key
  -c ssl_ca_file=/var/lib/postgresql/ssl/certs/root.crt
ports:
  - '5432:5432'
volumes:
  - ./setup/postgres/scripts:/docker-entrypoint-initdb.d
environment:
  - POSTGRES_HOST_AUTH_METHOD=trust

我是否遗漏了这里的任何步骤?

【问题讨论】:

    标签: postgresql docker-compose


    【解决方案1】:

    我最终遇到了同样的问题。对于遇到这种情况的任何人,您需要为您的脚本文件授予执行权限,因为 Docker 会复制权限:

    chmod +x your/script.sh
    

    在我的情况下,问题消息是:

    /opt/bitnami/scripts/libpostgresql.sh: /docker-entrypoint-initdb.d/my-initdb.sh: /bin/bash: bad interpreter: Permission denied
    

    然后我将执行权限授予my-initdb.sh,它运行良好

    【讨论】:

    • 奇怪的是,这在 WSL 2 中不会发生
    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2016-08-23
    • 2015-06-26
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    相关资源
    最近更新 更多