मेरे पास नीचे के रूप में एक Dockerfile है, जिसे यूनिक्स सिस्टम पर काम करने के लिए परीक्षण किया गया है। मेरा क्लाइंट विंडोज़ पर उसी का उपयोग करने की कोशिश कर रहा है लेकिन RUN ./gradlew clean deployNodes चरण पर Permission denied त्रुटि प्राप्त कर रहा है।

मैं अपने Dockerfile में कैसे बदलाव करूं ताकि यह विंडोज सिस्टम पर भी काम करे?

# Get java8
FROM openjdk:8-jre-slim
# Get gradle
FROM gradle:4.7.0-jdk8-alpine AS build
# Start as root to update the alpine image to install bash
USER root
# Add bash
RUN apk update && apk add bash
# Move the code, as owner
COPY --chown=gradle:gradle . /home/gradle/src
# Assign a working directory 
WORKDIR /home/gradle/src
# Run clean build
RUN ./gradlew clean deployNodes
# Expose ports for the services
EXPOSE 8080 5005 5006 5007 5008 5009 10001 10070
# Run the application
ENTRYPOINT ["build/nodes/runnodes"]

संपादित करें:

त्रुटि में है:

/bin/sh: ./gradlew: Permission denied
The command '/bin/sh -C ./gradlew clean deploynodes' returned a non-zero code: 126

इस धागे के बाद मैंने gradlew को एक निष्पादन योग्य बना दिया है: gradlew: अनुमति अस्वीकृत

0
pissall 8 नवम्बर 2019, 15:39

1 उत्तर

सबसे बढ़िया उत्तर

जोड़ने का प्रयास करें:

WORKDIR /home/gradle/src
RUN apt-get update && apt-get install -y dos2unix
RUN dos2unix gradlew
RUN chmod +x gradlew
RUN ./gradlew clean deployNodes
0
LinPy 9 नवम्बर 2019, 16:51