Public | Automated Build

Last pushed: 8 hours ago
Short Description
Create BIRT docker image file (4.6.0 & 4.5.0)
Full Description

mybirt

##Docker automated build for Birt 4.5.0

For starting container you can use start.sh script:

sh start.sh <Name of container> <Port where tomcat will serve Birt> <Path to reports directory> <(F)oreground or (D)aemon mode>

or

If you want to start container in foreground mode use

docker run --name <Your container name> -i -t 
       -p <Port whereyou want BIRT to work>:8080 
       -v <Your path to reports design files on host>:/usr/local/tomcat/webapps/birt/reports 
       cdorde/mybirt:4.5.0

If you want to start container as daemon use

docker run --name <Your container name> -i -t 
       -p <Port whereyou want BIRT to work>:8080 
       -v <Your path to reports design files on host>:/usr/local/tomcat/webapps/birt/reports 
       -d 
       --restart=always
       cdorde/mybirt:4.5.0

After container is started, open browser and try to access tomcat on address

http://localhost:<Port you use in run command>/

If it is ok then open birt start page opening

http://localhost:<Port you use in run command>/birt

To check that engine is ok click "view example" link on bottom of page.

Docker Pull Command
Owner
cdorde
Source Repository

Comments (2)
lambrosx
6 months ago

When we delete signature files, birt deploys well. But there is another issue with jdbc which needs jre1.8. So I change the FROM tomcat:8.0 to 8.5-jre8.

So my workaround is (sorry, it's my first day with docker so I don't know if it's the rigth place and if it's a good solution but...) :

FROM ubuntu:15.10
FROM tomcat:8.5-jre8
MAINTAINER "Dorde Cvijanovic cdorde@gmail.com"

RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get dist-upgrade -y && \
apt-get -y autoremove && \
apt-get clean

RUN apt-get -y --force-yes install wget
RUN apt-get -y --force-yes install unzip
RUN apt-get -y --force-yes install zip

#COPY birt-runtime-4.5.0-20150609.zip /tmp/birt.zip

#RUN wget -nv "http://download.eclipse.org/birt/downloads/drops/R-R1-4_5_0-201506092134/birt-runtime-4.5.0-20150609.zip" -P /tmp -O /tmp/birt.zip
RUN wget -nv "http://download.eclipse.org/birt/downloads/drops/R-R1-4.6.0-201606072112/birt-runtime-4.6.0-20160607.zip" -P /tmp -O /tmp/birt.zip
RUN unzip "/tmp/birt.zip" -d /tmp/birt

RUN mv "/tmp/birt/birt.war" "/usr/local/tomcat/webapps/birt.war"
RUN rm /tmp/birt.zip
RUN rm -f -r "/tmp/birt"
RUN unzip /usr/local/tomcat/webapps/birt.war -d /usr/local/tomcat/webapps/birt

#Security issue
RUN zip -d /usr/local/tomcat/webapps/birt/WEB-INF/lib/org.eclipse.birt.runtime4.6.0-20160607.jar "META-INF/ECLIPSE.RSA"
RUN zip -d /usr/local/tomcat/webapps/birt/WEB-INF/lib/org.eclipse.birt.runtime4.6.0-20160607.jar "META-INF/ECLIPSE.SF"
RUN zip -d /usr/local/tomcat/webapps/birt/WEB-INF/lib/org.eclipse.datatools.connectivity.oda3.5.0.201603142002.jar "META-INF/ECLIPSE.RSA"
RUN zip -d /usr/local/tomcat/webapps/birt/WEB-INF/lib/org.eclipse.datatools.connectivity.oda3.5.0.201603142002.jar "META-INF/ECLIPSE.SF"

RUN cd /usr/local/tomcat && ln -s /etc/tomcat conf

#Add JDBC

#COPY ojdbc6.jar /usr/local/tomcat/webapps/birt/WEB-INF/lib
RUN wget "http://www.java2s.com/Code/JarDownload/ojdbc6/ojdbc6.jar.zip" -P /tmp -O /tmp/ojdbc6.jar.zip
RUN unzip /tmp/ojdbc6.jar.zip -d /tmp
RUN cp /tmp/ojdbc6.jar /usr/local/tomcat/webapps/birt/WEB-INF/lib
RUN rm /tmp/ojdbc6.jar.zip
RUN rm /tmp/ojdbc6.jar

#Map Reports folder
VOLUME /usr/local/tomcat/webapps/birt/reports
VOLUME /usr/local/tomcat/webapps/birt
VOLUME /usr/share/fonts/truetype

#Start
CMD ["catalina.sh", "run"]

#Port
EXPOSE 8080

lambrosx
6 months ago

Hi, thank you for sharing.
I think you've got an issue with Birt 4.6 : "Invalid signature file digest for Manifest main attributes".
You can have a check here https://bugs.eclipse.org/bugs/show_bug.cgi?id=497356
You have to delete ECLIPSE.RSA and ECLIPSE.SF in many jars.