Hi Lahiru, I am ok to use any official docker images, but I couldn't find any official java 8 image released by Oracle. There are set of official images for open jdk but not for oracle jdk. In that case I would like to suggest to use above steps to install java8. It is clean and no any unofficial dependencies. I am not much familiar how docker world works, this is my 2 cents.
Thanks, Shameera. On Mon, Jul 6, 2015 at 1:43 PM Lahiru Ginnaliya Gamathige <[email protected]> wrote: > I have use sbt docker because we use sbt instead of maven to build java > code. I think we can use this[1] for maven. > > [1]https://github.com/rhuss/docker-maven-plugin > > I think its worth exploring this since we already have a maven build. > > Lahiru > > On Mon, Jul 6, 2015 at 10:39 AM, Suresh Marru <[email protected]> wrote: > >> Lahiru, >> >> Did you come across any maven plugins like assembly ones so we can bundle >> all docker things with the main build? There seems to be few github >> projects but could not weigh in which one is good. >> >> Suresh >> >> >> On Mon, Jul 6, 2015 at 1:26 PM Lahiru Ginnaliya Gamathige < >> [email protected]> wrote: >> >>> If we use docker for deployment purpose there is no requirement for >>> bundling source code in to docker image. We usually bundle minimum amount >>> of data (everything required in runtime) but nothing other than that. >>> During development we use a script which build the docker image for us >>> using exiting source in our local file system. Once we do a release we have >>> docker images with proper naming which will not touch. >>> >>> Shameera, >>> >>> I am not sure why we need to install java or maven without using >>> existing docker image provided by Oracle. >>> >>> Lahiru >>> >>> On Mon, Jul 6, 2015 at 9:52 AM, Suresh Marru <[email protected]> wrote: >>> >>>> Hi Pankaj, >>>> >>>> Thinking naively, I am considering docker images same as maven >>>> artifacts. Users will consume the published images. We will need to publish >>>> released docker images and also nightly builds. >>>> >>>> From developers perspective, I am guessing they will again work similar >>>> to maven. We do not want to push to a docker hub, but create and use the >>>> image locally. >>>> >>>> Let me defer to Lahiru to update us how docker is used in real-world by >>>> developers. I am guessing as long as we can build docker images with the >>>> maven build (through ant commands probably), it should probably help both >>>> the cases. >>>> >>>> Suresh >>>> >>>> >>>> On Mon, Jul 6, 2015 at 12:25 PM Pankaj Saha <[email protected]> >>>> wrote: >>>> >>>>> Hi Suresh >>>>> >>>>> Our initial plan was to make docker for the airavata developers so >>>>> that the initial hurdle of environment set up can be reduced. >>>>> If we don't include the source code and only keep the executable >>>>> binaries then how can we fulfill that goal? >>>>> do we need two set of docker images 1. with source code (dev edition) >>>>> and 2. without source code (end user edition) ? >>>>> please suggest. >>>>> >>>>> Thanks >>>>> Pankaj >>>>> >>>>> >>>>> On Mon, Jul 6, 2015 at 12:10 PM, Pankaj Saha <[email protected]> >>>>> wrote: >>>>> >>>>>> Hey Shameera, >>>>>> what about the PATH variable? If you see my dockerfile I have >>>>>> commented the ENV for the JAVA_HOME and PATH. It did not work for me. >>>>>> Lahiru suggested to use existing jdk8+maven base image which is >>>>>> better idea , what do you think? >>>>>> >>>>>> On Mon, Jul 6, 2015 at 12:03 PM, Shameera Rathnayaka < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> 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. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >>>>> >>> >
