Based on my quick look at the Dockerfile please find the comments below. Why are you doing git clone inside the docker file ? I believe this should be in the repo itself and you are already in the source tree.
I think this should support the development environment and should be integrated seamlessly with the dev environment. How about writing a shell script to run whenever you do a change you run that script and it will create a new image and always create the docker image with the name of the revision(git describe --tags). You should not store data inside the docker container it should be mounted from the host environment. On Tue, Jun 16, 2015 at 4:16 PM, Pankaj Saha <[email protected]> wrote: > Hello Devs, > > I am trying to writing a docker script which can create a docker image > based on Ubuntu where airavata (0.15 branch) PGA will be installed and all > related required supporting software will stay installed. > > My Dockerfile looks like this: > > ------------------------------------------------------------------------------------------------------------------------------ > #---------- set the base image to Ubuntu > FROM ubuntu > > #---------- file Author / Maintainer > MAINTAINER GSoC Pankaj Saha > > #---------- update the repository sources list > RUN apt-get update > > #---------- setting the work directory as users home > WORKDIR ~/ > > #---------- installing prerequisites for PGA gateway > RUN apt-get install apache2 -y > RUN sudo apt-get install php5 -y > > #---------- installing necessary php extensions > RUN apt-get install unzip -y > RUN apt-get install curl -y > RUN apt-get install openssl -y > RUN apt-get install php5-mcrypt -y > > #--------- installing composer > RUN curl -sS https://getcomposer.org/installer | php > RUN mv composer.phar /usr/local/bin/composer > > #--------- activate mod_rewrite > RUN a2enmod rewrite > RUN service apache2 restart > > #--------- modifying the 000default file > #ADD /etc/apache2/sites-available/000-default.conf > /etc/apache2/sites-available/ > WORKDIR /etc/apache2/sites-available/ > RUN sed -i 's/<\/VirtualHost>/<Directory "\/var\/www"> \n AllowOverride > All \n <\/Directory> \n <\/VirtualHost>/g' 000-defau$ > WORKDIR ~/ > > #--------- installing git > RUN apt-get install git -y > > #--------- downloading airavata PGA > > RUN git clone https://github.com/apache/airavata-php-gateway.git > /var/www/airavata-php-gateway > WORKDIR /var/www/airavata-php-gateway > RUN git checkout airavata-php-gateway-0.15-release > WORKDIR ~/ > #--------- making storage folder writable > RUN chmod -R 777 /var/www/airavata-php-gateway/app/storage > > ----------------------------------------------------------------------------------------------------------------------------------- > > PGA web server should stay alive on default 80 port . Now from the image, > that my Dockerfile is creating, I am creating a running container. I am > facing trouble to check whether my host is able to listen from the default > 80 port of the docker container. I am trying to figure it out, but if > anyone has previous experience on this please guide me. > > Thanks > Pankaj > > > > > > > >
