尝试启动 pgsql 容器时如何修复 "Cannot start service pgsql: b'OCI runtime create failed:"?

How to fix "Cannot start service pgsql: b'OCI runtime create failed:" when trying to up a pgsql container?

我得到以下

错误:marx_pgsql_1 无法启动服务 pgsql:b'OCI 运行时创建失败:container_linux.go:345:启动容器进程导致 "exec: \"/docker-entrypoint.sh\": 权限被拒绝": 未知'

当我尝试启动 pgsql alpine docker 图像时。

这是我的 docker-compose.yml

web:
  image: nginx:1.17.1-alpine
  ports:
    - "80:80"
  volumes:
    - ./code:/code
    - ./site.conf:/etc/nginx/conf.d/site.conf
  links:
    - php
php:
  build: .
  volumes:
    - ./code:/code
  links:
    - pgsql
pgsql:
  image: yobasystems/alpine-postgres:latest
  environment:
    POSTGRES_DB: bookmarx
    POSTGRES_USER: admin
    POSTGRES_PASSWORD: password
  expose:
    - "5432"
  volumes:
    - ./data:/var/lib/postgresql/data
  restart: always

我们如何解决这个问题?

我认为脚本 docker-entrypoint.sh 不可执行,我建议执行以下操作:

创建一个 Dockerfile:

FROM yobasystems/alpine-postgres:latest
RUN chmod +x docker-entrypoint.sh

更新您的 docker-撰写:

pgsql:
  build: .
  environment:
    POSTGRES_DB: bookmarx
    POSTGRES_USER: admin
    POSTGRES_PASSWORD: password
  expose:
    - "5432"
  volumes:
    - ./data:/var/lib/postgresql/data
  restart: always