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
>
>
>
>
>
>
>
>

Reply via email to