Giter Club home page Giter Club logo

ubuntu-bionic-jdk-mvn-py3-x11's Introduction

Java 8 (1.8.0_181) JDK + Maven 3.5 + Python 3.5 + X11 (display GUI)

Components

  • 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
  • Python 3.5.2
  • X11 display desktop
  • Other tools: git wget unzip vim python python-setuptools python-dev python-numpy

Pull the image from Docker Repository

docker pull openkbs/ubuntu-bionic-jdk-mvn-py3-x11

Base the image to build add-on components

FROM openkbs/ubuntu-bionic-jdk-mvn-py3-x11

Run the image

Then, you're ready to run:

  • make sure you create your work directory, e.g., ./data
mkdir ./data
docker run -d --name my-ubuntu-bionic-jdk-mvn-py3-x11 -v $PWD/data:/data -i -t openkbs/ubuntu-bionic-jdk-mvn-py3-x11

Build and Run your own image

Say, you will build the image "my/ubuntu-bionic-jdk-mvn-py3-x11".

docker build -t my/ubuntu-bionic-jdk-mvn-py3-x11 .

To run your own image, say, with some-ubuntu-bionic-jdk-mvn-py3-x11:

mkdir ./data
docker run -d --name some-ubuntu-bionic-jdk-mvn-py3-x11 -v $PWD/data:/data -i -t my/jdk-mvn-py3

Shell into the Docker instance

docker exec -it some-ubuntu-bionic-jdk-mvn-py3-x11 /bin/bash

Run Python code

To run Python code

docker run -it --rm openkbs/ubuntu-bionic-jdk-mvn-py3-x11 python3 -c 'print("Hello World")'

or,

docker run -i --rm openkbs/ubuntu-bionic-jdk-mvn-py3-x11 python3 < myPyScript.py

or,

mkdir ./data
echo "print('Hello World')" > ./data/myPyScript.py
docker run -it --rm --name some-ubuntu-bionic-jdk-mvn-py3-x11 -v "$PWD"/data:/data openkbs/ubuntu-bionic-jdk-mvn-py3-x11 python3 myPyScript.py

or,

alias dpy3='docker run --rm openkbs/ubuntu-bionic-jdk-mvn-py3-x11 python3'
dpy3 -c 'print("Hello World")'

Compile or Run java while no local installation needed

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-ubuntu-bionic-jdk-mvn-py3-x11 -v '$PWD'/data:/data openkbs/ubuntu-bionic-jdk-mvn-py3-x11 javac'
alias djava='docker run -it --rm --name some-ubuntu-bionic-jdk-mvn-py3-x11 -v '$PWD'/data:/data openkbs/ubuntu-bionic-jdk-mvn-py3-x11 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.

Other docker-based IDE

See also

Display X11 Issue

More resource in X11 display of Eclipse on your host machine's OS, please see

Other possible Issues

You might see the warning message in the launching xterm console like below, you can just ignore it. I googles around and some blogs just suggested to ignore since the IDE still functional ok.

ubuntu-bionic-jdk-mvn-py3-x11's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.