openkbs/jre-mvn-py
OpenJDK Java 8 JDK + Maven 3.5.0 + Python 2.7.12
10K+
By using this image, you agree the Oracle Java JDK License. This image contains Oracle JDK 8. You must accept the Oracle Binary Code License Agreement for Java SE to use this image.
java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
Apache Maven 3.5.3 Maven home: /usr/apache-maven-3.5.3
Python 2.7.12
Other tools: git wget unzip vim python python-setuptools python-dev python-numpy
docker pull openkbs/jre-mvn-py
FROM openkbs/jre-mvn-py
Then, you're ready to run : Make sure you create your work directory, e.g., /data
mkdir ./data
docker run -d --name my-jre-mvn-py -v $PWD/data:/data -i -t openkbs/jre-mvn-py
Say, you will build the image "my/jre-mvn-py".
docker build -t my/jre-mvn-py .
To run your own image, say, with some-jre-mvn-py:
mkdir ./data
docker run -d --name some-jre-mvn-py -v $PWD/data:/data -i -t my/jre-mvn-py
docker exec -it some-jre-mvn-py /bin/bash
To run Python code
docker run --rm openkbs/jre-mvn-py python -c 'print("Hello World")'
or,
docker run -i --rm openkbs/jre-mvn-py python < myPyScript.py
or,
mkdir ./data
echo "print('Hello World')" > ./data/myPyScript.py
docker run -it --rm --name some-jre-mvn-py -v "$PWD"/data:/data openkbs/jre-mvn-py python myPyScript.py
or,
alias dpy='docker run --rm openkbs/jre-mvn-py python'
dpy -c 'print("Hello World")'
Remember, the default working directory, /data, inside the docker container -- treat is as "/". So, if you create subdirectory, "./data/workspace", in the host machine and the docker container will have it as "/data/workspace".
#!/bin/bash -x
mkdir ./data
cat >./data/HelloWorld.java <<-EOF
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
EOF
cat ./data/HelloWorld.java
alias djavac='docker run -it --rm --name some-jre-mvn-py3 -v '$PWD'/data:/data openkbs/jre-mvn-py3 javac'
alias djava='docker run -it --rm --name some-jre-mvn-py3 -v '$PWD'/data:/data openkbs/jre-mvn-py3 java'
djavac HelloWorld.java
djava HelloWorld
And, the output:
Hello, World
Hence, the alias above, "djavac" and "djava" is your docker-based "javac" and "java" commands and it will work the same way as your local installed Java's "javac" and "java" commands. However, for larger complex projects, you might want to consider to use Docker-based IDE. For example, try this docker-scala-ide: Scala IDE in Docker See also, Java Development in Docker
docker pull openkbs/jre-mvn-py