docker-撰写 Windows 上的权限被拒绝

docker-compose up Permission denied on Windows

这是我的 docker-compose.yml

version: '2'
services:
  backend:
    tty: true
    build:
      context: project/backend
    environment:
      - VIRTUAL_HOST=*/api/*,https://*/api/*
      - VIRTUAL_HOST_WEIGHT=42

如果我尝试做

docker-compose up

在 windows 的某个时候我得到:

[91m/bin/sh: 1: ./mvnw: Permission denied
[0m[31mERROR[0m: Service 'backend' failed to build: The command '/bin/sh -c ./mvnw package' returned a non-zero code: 126

我正在使用 Windows 10 64 位专业版 有人知道如何解决这个问题吗?

看起来这是 docker-compose 的错误。在 Windows 上构建时,常规 docker build 命令会将所有文件设置为 -rwxr-xr-x,但看起来 docker-compose 并未这样做。将在下一版本的 compose 中修复。

https://github.com/docker/compose/issues/3065#issuecomment-191489901

根据 dnephin 的建议,解决方法是将 RUN chmod +x your/files 添加到 docker 文件的末尾。