Browse Source

Perl/* remove techempower dependencies (#3506)

Nate 7 years ago
parent
commit
e2260cc4eb

+ 3 - 12
frameworks/Perl/dancer/dancer.dockerfile

@@ -1,21 +1,12 @@
-FROM techempower/nginx:0.1
+FROM perl:5.26
 
-FROM techempower/perl:0.1
-
-COPY --from=0 /nginx /nginx
-
-ENV NGINX_HOME="/nginx"
-ENV PATH=/nginx/sbin:${PATH}
+RUN apt update -yqq && apt install -yqq nginx
 
 ADD ./ /dancer
-
 WORKDIR /dancer
 
-ENV PERL_CARTON_PATH=/dancer/local
-ENV PERL5LIB=${PERL_CARTON_PATH}/lib/perl5
-ENV PATH=${PERL_CARTON_PATH}/bin:${PERL_HOME}/bin:${PATH}
-
 RUN cpanm --notest --no-man-page \
+      JSON IO::Socket::IP IO::Socket::SSL \
       [email protected] \
       Dancer::Plugin::[email protected] \
       [email protected] \

+ 0 - 28
frameworks/Perl/kelp/kelp-base.dockerfile

@@ -1,28 +0,0 @@
-FROM techempower/nginx:0.1
-
-FROM techempower/perl:0.1
-
-COPY --from=0 /nginx /nginx
-
-ENV NGINX_HOME="/nginx"
-ENV PATH=/nginx/sbin:${PATH}
-
-WORKDIR /kelp
-
-ENV PERL_CARTON_PATH=/kelp/local
-ENV PERL5LIB=${PERL_CARTON_PATH}/lib/perl5
-ENV PATH=${PERL_CARTON_PATH}/bin:${PERL_HOME}/bin:${PATH}
-
-RUN cpanm --notest --no-man-page \
-        [email protected] \
-        [email protected] \
-        DBD::[email protected] \
-        [email protected] \
-        Kelp::Module::JSON::[email protected] \
-        HTML::[email protected] \
-        HTTP::Parser::[email protected] \
-        [email protected]
-
-ADD ./app.ini /kelp/
-ADD ./app.pl /kelp/
-ADD ./nginx.conf /kelp/

+ 20 - 3
frameworks/Perl/kelp/kelp-mongodb.dockerfile

@@ -1,8 +1,25 @@
-FROM techempower/kelp-base:0.1
+FROM perl:5.26
 
-ENV MONGO=1
+RUN apt update -yqq && apt install -yqq nginx
+
+WORKDIR /kelp
+
+RUN cpanm --notest --no-man-page \
+        JSON JSON::XS IO::Socket::IP IO::Socket::SSL \
+        [email protected] \
+        [email protected] \
+        DBD::[email protected] \
+        [email protected] \
+        Kelp::Module::JSON::[email protected] \
+        HTML::[email protected] \
+        HTTP::Parser::[email protected] \
+        [email protected]
 
-RUN sleep 10
+ADD ./app.ini /kelp/
+ADD ./app.pl /kelp/
+ADD ./nginx.conf /kelp/
+
+ENV MONGO=1
 
 CMD nginx -c /kelp/nginx.conf && \
     plackup -E production -s Starman --workers=$(nproc) -l /tmp/perl-kelp.sock -a ./app.pl

+ 20 - 1
frameworks/Perl/kelp/kelp.dockerfile

@@ -1,4 +1,23 @@
-FROM techempower/kelp-base:0.1
+FROM perl:5.26
+
+RUN apt update -yqq && apt install -yqq nginx
+
+WORKDIR /kelp
+
+RUN cpanm --notest --no-man-page \
+        JSON JSON::XS IO::Socket::IP IO::Socket::SSL \
+        [email protected] \
+        [email protected] \
+        DBD::[email protected] \
+        [email protected] \
+        Kelp::Module::JSON::[email protected] \
+        HTML::[email protected] \
+        HTTP::Parser::[email protected] \
+        [email protected]
+
+ADD ./app.ini /kelp/
+ADD ./app.pl /kelp/
+ADD ./nginx.conf /kelp/
 
 CMD nginx -c /kelp/nginx.conf && \
     plackup -E production -s Starman --workers=$(nproc) -l /tmp/perl-kelp.sock -a ./app.pl

+ 1 - 1
frameworks/Perl/mojolicious/app.pl

@@ -18,7 +18,7 @@ use Scalar::Util 'looks_like_number';
 }
 
 {
-  my $db_host = $ENV{DBHOST} || 'localhost';
+  my $db_host = 'tfb-database';
   helper pg => sub { state $pg = Mojo::Pg->new('postgresql://benchmarkdbuser:benchmarkdbpass@' . $db_host . '/hello_world') };
 }
 

+ 5 - 2
frameworks/Perl/mojolicious/mojolicious.dockerfile

@@ -1,12 +1,15 @@
-FROM techempower/perl:0.1
+FROM perl:5.26
 
 WORKDIR /mojo
 
+ADD ./cpanfile* ./
+
 ENV PERL_CARTON_PATH=/kelp/local
 ENV PERL5LIB=${PERL_CARTON_PATH}/lib/perl5
 ENV PATH=${PERL_CARTON_PATH}/bin:${PERL_HOME}/bin:${PATH}
 
-ADD ./cpanfile* ./
+RUN cpanm --notest --no-man-page \
+        Carton JSON JSON::XS IO::Socket::IP IO::Socket::SSL
 
 RUN carton install --cpanfile /mojo/cpanfile
 

+ 3 - 11
frameworks/Perl/plack/plack.dockerfile

@@ -1,19 +1,11 @@
-FROM techempower/nginx:0.1
+FROM perl:5.26
 
-FROM techempower/perl:0.1
-
-COPY --from=0 /nginx /nginx
-
-ENV NGINX_HOME="/nginx"
-ENV PATH=/nginx/sbin:${PATH}
+RUN apt update -yqq && apt install -yqq nginx
 
 WORKDIR /plack
 
-ENV PERL_CARTON_PATH=/plack/local
-ENV PERL5LIB=${PERL_CARTON_PATH}/lib/perl5
-ENV PATH=${PERL_CARTON_PATH}/bin:${PERL_HOME}/bin:${PATH}
-
 RUN cpanm --notest --no-man-page \
+        JSON JSON::XS IO::Socket::IP IO::Socket::SSL \
         JSON::[email protected] \
         HTTP::Parser::[email protected] \
         [email protected] \

+ 3 - 11
frameworks/Perl/web-simple/web-simple.dockerfile

@@ -1,19 +1,11 @@
-FROM techempower/nginx:0.1
+FROM perl:5.26
 
-FROM techempower/perl:0.1
-
-COPY --from=0 /nginx /nginx
-
-ENV NGINX_HOME="/nginx"
-ENV PATH=/nginx/sbin:${PATH}
+RUN apt update -yqq && apt install -yqq nginx
 
 WORKDIR /simple
 
-ENV PERL_CARTON_PATH=/simple/local
-ENV PERL5LIB=${PERL_CARTON_PATH}/lib/perl5
-ENV PATH=${PERL_CARTON_PATH}/bin:${PERL_HOME}/bin:${PATH}
-
 RUN cpanm --notest --no-man-page  \
+        JSON JSON::XS IO::Socket::IP IO::Socket::SSL \
         Web::[email protected] \
         [email protected] \
         DBD::[email protected] \

+ 0 - 20
toolset/setup/docker/languages/perl.dockerfile

@@ -1,20 +0,0 @@
-FROM techempower/base:0.1
-
-ENV PERL_VERSION="5.18"
-ENV PERL=/perl-${PERL_VERSION}
-
-RUN wget -q -O perl-build.pl https://raw.github.com/tokuhirom/Perl-Build/master/perl-build
-# compile with optimizations, n.b. this does not turn on debugging
-RUN perl perl-build.pl -DDEBUGGING=-g 5.18.2 perl-${PERL_VERSION} 2>&1 | tee /perl-install.log | awk '{ if (NR%100 == 0) printf "."}'
-
-RUN wget -O cpanminus.pl http://cpanmin.us
-RUN perl-${PERL_VERSION}/bin/perl cpanminus.pl --notest --no-man-page App::cpanminus
-# Install only a bare-bones of Perl modules
-# Install others in the per-framework install script or cpanfile
-RUN perl-${PERL_VERSION}/bin/cpanm -f --notest --no-man-page Carton JSON JSON::XS IO::Socket::IP IO::Socket::SSL
-
-ENV PERL_HOME=${PERL}
-
-#ENV PERL_CARTON_PATH=$TROOT/local
-#ENV PERL5LIB=${PERL_CARTON_PATH}/lib/perl5
-#ENV PATH=${PERL_CARTON_PATH}/bin:${PERL_HOME}/bin:${PATH}