Hi Pankaj, you can use following steps on your Dockerfile to install java. After that java will be available anywhere and you don't need to set PATH variable , But you need to set JAVA_HOME variable which is used by airavata start script.
# Install prerequisites RUN apt-get update RUN apt-get install -y software-properties-common # Install java8 RUN add-apt-repository -y ppa:webupd8team/java RUN apt-get update RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections RUN apt-get install -y oracle-java8-installer # set JAVA_HOME ENV JAVA_HOME /usr/lib/jvm/java-8-oracle Regards, Shameera. On Mon, Jul 6, 2015 at 11:56 AM Pankaj Saha <[email protected]> wrote: > Hi Lahiru, > > 1. So you suggest to use the "java8 with maven" as the base image. > dockerfile/java:oracle-java8 is not based on ubuntu image and also its not > official image from oracle, can we use still use that? > > 2. Do you suggest to put only the executables for airavata inside the > docker image? Does that mean docker file will copy the local host machine's > airavata executable files to the docker image through ADD directive? > So I will build the airavata source code locally through maven and then > put that inside the container image. > > 3. One thing that I could not able to do was changing the properties > values for different port and server ips when the containers starts. I was > trying to run a startup shell script which can do the required changes and > then kick start the airavat-server.sh file. > problem was airavata-server.properties need apiserver.server.host = > current running containers ip address. Can you suggest some better way to > achieve this through shell script. > > Thanks > Pankaj > > > > On Mon, Jul 6, 2015 at 11:30 AM, Lahiru Ginnaliya Gamathige < > [email protected]> wrote: > >> Hi Pankaj, >> >> I had a quick look. I think you can replace all the code to install java >> and maven if you use this image [1] or at least java-8 image. >> >> I think its not necessary to build airavata inside the dockerfile, you >> can just assume its built in host machine and you just have to put required >> executables in to the docker image. >> When you create he image maven and source code it not necessary at all. >> Docker image should only contain required binaries, source code doesn't >> have to in the image. >> >> [1] >> https://registry.hub.docker.com/u/jamesdbloom/docker-java8-maven/dockerfile/ >> >> On Mon, Jul 6, 2015 at 8:13 AM, Pankaj Saha <[email protected]> >> wrote: >> >>> I am so sorry , I have no intention to hide any docker code.I am >>> attaching the docker files here.I have never done git check in and trying >>> to upload files and its not working. I am trying to understand the git pull >>> request/setting up git directory etc. >>> >>> My apology if I unnecessary delayed it. >>> >>> >>> >>> On Mon, Jul 6, 2015 at 10:51 AM, Suresh Marru <[email protected]> wrote: >>> >>>> Hi Pankaj, >>>> >>>> Open source software can never be final. Once the software is final, >>>> the community is dead, because there is nothing for anyone to do. An >>>> important aspect for all the GSoC students to embrace is, these are not >>>> academic projects where you submit the final code. You are supposed to >>>> commit every few hours of code, you need to do the development in open. We >>>> have been lenient on this so far, but you have been holding off the docker >>>> work little too long. Please do commit the docker files in as in condition. >>>> Thats the only way you can engage others, otherwise you will loose everyone >>>> interest. >>>> >>>> Suresh >>>> >>>> On Mon, Jul 6, 2015 at 10:42 AM, Lahiru Ginnaliya Gamathige < >>>> [email protected]> wrote: >>>> >>>>> Not sure what is the big deal here, Why don't you create a pull >>>>> request and every one can review it. It doesn't have to be finalized at >>>>> all. People will comment and you can follow the comments and after >>>>> multiple >>>>> reviews we can move ti to the the code base. >>>>> >>>>> I propose to create a folder struction like this and put the docker >>>>> files. >>>>> >>>>> airavata/deploy/thrift, airavata/deploy/rabbitmq, >>>>> airavata/deploy/zookeeper. Create a directory for every image you build >>>>> with proper naming and add the Dockerfile and other scripts if there's >>>>> any. >>>>> >>>>> Lahiru >>>>> >>>>> On Mon, Jul 6, 2015 at 7:03 AM, Pankaj Saha <[email protected]> >>>>> wrote: >>>>> >>>>>> This docker file is not final yet as we have to automate the >>>>>> environment variable to replace the properties file. >>>>>> I believe in a hangout session we can walk through and fix this. >>>>>> >>>>>> On Mon, Jul 6, 2015 at 9:58 AM, Shameera Rathnayaka < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Pankaj, >>>>>>> >>>>>>> Let't do this via Apache way, upload these files to publicly >>>>>>> accessible place (as i mentioned in my previous reply) then invite >>>>>>> everyone >>>>>>> to review it. >>>>>>> >>>>>>> Regards, >>>>>>> Shameera. >>>>>>> >>>>>>> On Mon, Jul 6, 2015 at 9:44 AM Pankaj Saha <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Shameera, >>>>>>>> Please find the attached Dockerfile for Airavata Server. >>>>>>>> Please suggest changes. >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Jul 2, 2015 at 5:50 PM, Shameera Rathnayaka < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Pankaj, >>>>>>>>> >>>>>>>>> Yes please share your works with community. Do you have specific >>>>>>>>> location to commit your works? If not you can use this location >>>>>>>>> https://github.com/apache/airavata-sandbox. Let's try to track >>>>>>>>> the changes with VCS. >>>>>>>>> >>>>>>>>> @Suresh do we have specific location for this time gsoc students? >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Shameera. >>>>>>>>> >>>>>>>>> On Thu, Jul 2, 2015 at 5:24 PM Pankaj Saha <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi Shameera >>>>>>>>>> Yes we can see the containers ip they way you suggested. What I >>>>>>>>>> mentioned is another way in case you are already inside the >>>>>>>>>> container. >>>>>>>>>> >>>>>>>>>> Regarding java path variable yes we can do that with ENV in >>>>>>>>>> docker file. It was throwing some errors so i just commented that in >>>>>>>>>> the >>>>>>>>>> docker file. >>>>>>>>>> >>>>>>>>>> I will send you the docker file in another email then we can go >>>>>>>>>> through together to improve it. >>>>>>>>>> >>>>>>>>>> I was trying mesos today and didnt have time to fix that. We can >>>>>>>>>> do it later as we are already running late for the mesos >>>>>>>>>> implementation. >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Pankaj >>>>>>>>>> On 02-Jul-2015 5:12 PM, "Shameera Rathnayaka" < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Pankaj, >>>>>>>>>>> >>>>>>>>>>> See my comments inline. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> docker attach server >>>>>>>>>>>>> >>>>>>>>>>>> awk 'NR==1 {print $1}' /etc/hosts ---- note the ip address >>>>>>>>>>>>> of the running container >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> can't we use "docker inspect --format '{{ >>>>>>>>>>> .NetworkSettings.IPAddress }}' server " to get airavata server >>>>>>>>>>> docker >>>>>>>>>>> container ip ? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> pico airavata-server.properties >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Replaces the below text as suggested below >>>>>>>>>>>> apiserver.server.host= *<current containers ip address>* >>>>>>>>>>>> default.registry.gateway=*default* >>>>>>>>>>>> rabbitmq.broker.url=amqp://*<rabbit MQ's ip address>*:5672 >>>>>>>>>>>> save changes. >>>>>>>>>>>> >>>>>>>>>>>> pico /etc/bash.bashrc >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> add below lines at the end >>>>>>>>>>>> >>>>>>>>>>>> #JAVA_HOME >>>>>>>>>>>>> JAVA_HOME=/opt/jdk/jdk1.8.0_05 >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> You can improve you docker file to add this variables using ENV >>>>>>>>>>> command. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> export JAVA_HOME >>>>>>>>>>>>> PATH=$JAVA_HOME/bin:$PATH >>>>>>>>>>>>> export PATH >>>>>>>>>>>> >>>>>>>>>>>> save changes. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> How you install java 8?, There is a way to install java on >>>>>>>>>>> docker which automatically available in PATH variable. You don't >>>>>>>>>>> have to >>>>>>>>>>> set it here. It is good if you can show us the Dockerfiles then we >>>>>>>>>>> can >>>>>>>>>>> review those files. is it available online ? >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Shameera. >>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>>> >>>> >>> >> >
