Git Product home page Git Product logo

jdk-mvn-py3-vnc's Introduction

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

jdk-mvn-py3-vnc's People

Contributors

user-ray001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jdk-mvn-py3-vnc's Issues

problem under Kubernetes

Pod is Back-off restarting failed container (CrashLoopBackOff)
kubectl logs jdk-mvn-py3-vnc-5d8454dcc8-gqrm7 --all-containers :

------------------ VNC environment started ------------------

VNCSERVER started on DISPLAY= :1
=> connect via VNC viewer with 10.42.2.15:5901

noVNC HTML client started:
=> connect via http://10.42.2.15:6901/?password=...

------------------ EXECUTE COMMAND ------------------
Executing command: '/bin/sh -c "$HOME/wrapper_process.sh"'

  • echo -e '\nVNCSERVER started on DISPLAY= :1 \n\t=> connect via VNC viewer with 10.42.2.15:5901'
  • echo -e '\nnoVNC HTML client started:\n\t=> connect via http://10.42.2.15:6901/?password=...\n'
  • [[ '' == true ]]
  • [[ /bin/sh =~ -t|--tail-log ]]
  • '[' -z /bin/sh ']'
  • [[ /bin/sh =~ -w|--wait ]]
  • echo -e '\n\n------------------ EXECUTE COMMAND ------------------'
  • echo 'Executing command: '''/bin/sh' -c '"$HOME/wrapper_process.sh"''''
  • exec /bin/sh -c '"$HOME/wrapper_process.sh"'
    /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
    /home/developer/wrapper_process.sh: line 3: basename: command not found
    ####################### Main Process: ###########################
    /home/developer/wrapper_process.sh: line 5: printenv: command not found
    /home/developer/wrapper_process.sh: line 7: whoami: command not found
    /home/developer/wrapper_process.sh: line 7: id: command not found
    /home/developer/wrapper_process.sh: line 7: id: command not found

Who am i: ; UID= ; GID=
/home/developer/wrapper_process.sh: line 10: /usr/scripts/printVersions.sh: No such file or directory
/home/developer/wrapper_process.sh: line 16: tail: command not found

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.