/jdk-mvn-py3-vnc

Java 11 OpenJDK + Maven 3 + Python 3 + NodeJS V4 + NPM 3 + Gradle 5 VNC/noVNC-based Docker Desktop

Primary LanguageShellApache License 2.0Apache-2.0

Please consider to donate what you can to help UNICEF, WHO, and Red Cross if you like what we provide to you for free. Thanks so much!

(New) Added 'Iridium Browser' for better privacy protection.

OpenJDK Java 8 + Maven 3.6 + Python 3.6/2.7 + pip 20 + node 14 + npm 6.14 + Gradle 6 + noVNC/VNC (as Cluster Container Desktop)

Components

Credits:

This project mainly adopt the ConSol docker-headless-vnc-container implementation.

Run (recommended for easy-start)

It's highly recommended to change vnc password to prevent others using the default password to get into your container, modify the file "./.env" as below and save the file before you hit, "./run.sh":



#### ---- VNC Password: (default is vncpassword) ----
VNC_PW=VeryXtrongPasswordHere!

#### ---- VNC Resolution (1280x800, 1920x1080, etc.): ----
VNC_RESOLUTION=1920x1080

  • Once the above update is done, you can now run the command below.
./run.sh

Connect to VNC Viewer/Client or noVNC (Browser-based VNC)

Once it is up, the default password is "'''vncpassword'''" to access with your web browser:

http://<ip_address>:6901/vnc.html,
e.g.
=> Standalone Docker: http://localhost:6901/vnc.html
=> Openshift Container Platform: http://<route-from-openshift>/vnc.html
=> similarly for Kubernetes Container Platform: (similar to the Openshift above!)

Run - Override VNC environment variables

The following VNC environment variables can be overwritten at the docker run phase to customize your desktop environment inside the container. You can change those variables using configurations CLI or Web-GUI with OpenShift, Kubernetes, DC/OS, etc.

VNC_COL_DEPTH, default is 24 , e.g., change to 16,
    -e VNC_COL_DEPTH=16
VNC_RESOLUTION, default: 1920x1080 , e.g., change to 1280x1024
    -e VNC_RESOLUTION=1280x1024
VNC_PW, default: vncpassword , e.g., change to MySpecial!(Password%)
    -e VNC_PW=MySpecial!(Password%)

Screen (Desktop) Resolution

Two ways to change Screen resolutions.

1.) Modify ./.env file

#VNC_RESOLUTION="1280x1024"
VNC_RESOLUTION=1920x1280

2.) Customize Openshift or Kubernetes container run envionrment

Set up, say, VNC_RESOLUTION with value 1920x1280

Base the image to build add-on components

FROM openkbs/jdk-mvn-py3-vnc

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-jdk-mvn-py3-vnc -v $PWD/data:/data -i -t openkbs/jdk-mvn-py3-vnc

Build and Run your own image

Say, you will build the image "my/jdk-mvn-py3-vnc".

docker build -t my/jdk-mvn-py3-vnc .

To run your own image, say, with some-jdk-mvn-py3-vnc:

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

Shell into the Docker instance

docker exec -it some-jdk-mvn-py3-vnc /bin/bash

Corporate Proxy Root and Intemediate Certificates setup for System and Web Browsers (FireFox, Chrome, etc)

  1. Save your corporate's Certificates in the currnet GIT directory, ./certificates
  2. During Docker run command,
   -v `pwd`/certificates:/certificates ... (the rest parameters)

If you want to map to different directory for certificates, e.g., /home/developer/certificates, then

   -v `pwd`/certificates:/home/developer/certificates -e SOURCE_CERTIFICATES_DIR=/home/developer/certificates ... (the rest parameters)
  1. And, inside the Docker startup script to invoke the ~/scripts/setup_system_certificates.sh. Note that the script assumes the certficates are in /certificates directory.
  2. The script ~/scripts/setup_system_certificates.sh will automatic copy to target directory and setup certificates for both System commands (wget, curl, etc) to use and Web Browsers'.

Reference

See also X11 and VNC/noVNC docker-based IDE collections

Releases information