对于Windows 10上的Docker,我如何在脚本中设置文件权限,以便在Docker处于';你不跑步吗?

对于Windows 10上的Docker,我如何在脚本中设置文件权限,以便在Docker处于';你不跑步吗?,docker,docker-compose,windows-10,file-permissions,Docker,Docker Compose,Windows 10,File Permissions,我在Windows10上运行Docker19。我有一个docker compose文件和几个容器,其中一个是React应用程序 version: '3' services: mysql: restart: always image: mysql:8.0 cap_add: - SYS_NICE # CAP_SYS_NICE environment: MYSQL_DATABASE: 'directory_data' # So

我在Windows10上运行Docker19。我有一个docker compose文件和几个容器,其中一个是React应用程序

version: '3'

services:
  mysql:
    restart: always
    image: mysql:8.0
    cap_add:
      - SYS_NICE  # CAP_SYS_NICE
    environment:
      MYSQL_DATABASE: 'directory_data'
      # So you don't have to use root, but you can if you like
      MYSQL_USER: 'root'
      # You can use whatever password you like
      MYSQL_PASSWORD: 'password'
      # Password for root access
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      - "3406:3306"
    volumes:
      - my-db:/var/lib/mysql
    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']

  web:
    restart: always
    build: ./web
    ports:           # to access the container from outside
      - "8000:8000"
    env_file: .env
    environment:
      DEBUG: 'true'
    command: /usr/local/bin/gunicorn directory.wsgi:application --reload -w 2 -b :8000
    volumes:
    - ./web/:/app
    depends_on:
      - mysql

  client:
    build:
      context: ./client
    volumes:
      - ./client:/app
    ports:
      - '3001:3000'
    restart: always
    container_name: web-app
    environment:
      - NODE_ENV=dockerdev
    depends_on:
      - web
    stdin_open: true
    command: /bin/bash /app/install_and_run.sh

  apache:
    restart: always
    build: ./apache/
    ports:
      - "9090:80"
    links:
      - web:web
      - client:client

volumes:
  my-db:
客户端Dockerfile的结构如下

FROM node:10-alpine AS alpine
  
RUN apk update && apk add bash

RUN apk add dos2unix

# A directory within the virtualized Docker environment
# Becomes more relevant when using Docker Compose later
WORKDIR /my-app/

# Copies package.json and package-lock.json to Docker environment
COPY install_and_run.sh ./

# Installs all node packages
RUN npm install --force -g yarn

RUN dos2unix /my-app/install_and_run.sh
“install_and_run.sh”脚本如下所示

#!/bin/bash
  
cd /app

# install everythiing
yarn

# Run it
REACT_APP_PROXY=http://localhost:9090 npm start
当我运行“docker compose up”并退出时,我在文件系统上看到具有以下权限的文件(使用Cygwin)

然而,即使我以拥有所有权的用户身份登录,我似乎无法删除这些文件,我会遇到如下错误

rm: cannot remove 'client/node_modules/workbox-webpack-plugin/node_modules/.bin/webpack': Permission denied
rm: cannot remove 'client/node_modules/worker-farm/node_modules/.bin/errno': Permission denied
rm: cannot remove 'client/node_modules/write/node_modules/.bin/mkdirp': Permission denied
我想知道的是,我需要在Docker文件/脚本中做些什么来授予文件权限,以便在Docker停止或根本不在我的系统上时删除它们(作为我登录的用户)

rm: cannot remove 'client/node_modules/workbox-webpack-plugin/node_modules/.bin/webpack': Permission denied
rm: cannot remove 'client/node_modules/worker-farm/node_modules/.bin/errno': Permission denied
rm: cannot remove 'client/node_modules/write/node_modules/.bin/mkdirp': Permission denied