Background
I'm trying to create a web service compiler, so the user can send a code written in some language, for which I created a compiler, then it will compile, run and return the printed results. My second iteration includes the use of Docker image to isolate the start POST'ed code running on my web server.
Problem
I am trying to write published code to a text file to run my compiler, but my compiler is not trying to create the file. My path to the file must be correct, and my other test route running. Here are some demo code, which I try to run, but can not:
try (Writer writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("/raw/compile-source.slacc"), "utf-8"))) { writer.write(req.body()); }
Docker In my file that I use to start it, I created a directory / raw, if it matters. I think Docker does not want Java-processes to create arbitrary files. Any thoughts? Below is my Docker file.
My Dockers file
FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] "] FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] a fat jar FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] "] FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] "] FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] raw"] FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] classfiles"]; FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"] out"]; FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /code # Prepare by downloading dependencies ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /code/src RUN ["mvn", "package"] CMD ["java", "-version"] CMD ["mkdir", "/raw"] CMD ["mkdir", "/classfiles"]; CMD ["mkdir", "/out"]; EXPOSE 4567 CMD ["mvn", "exec:java"]