Respect my work! or BTC: 1MTFbBSKrocPK7G6GKfG8RoTw5N57WnnNa ![]() If you have paid donate send me e-mail with Your data or transaction number to receive an access code to articles with limited access. |
PmWiki /
Run ProReports as docker/podman container or SWARM serviceShortcutsTo start container run command: docker run -itd -p 8080:8080 --name proreports gemail/docker-proreports or using podman: podman pull docker.io/gemail/docker-proreports podman run -itd -p 8080:8080 --name proreports docker.io/gemail/docker-proreports If you want to validate the operation run command: docker ps or podman ps You should see something like this: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2774de6fa8af gemail/docker-proreports "/bin/sh -c 'start..." 22 minutes ago Up 2 seconds 0.0.0.0:8080->8080/tcp proreports To run ProReports in browser set URL: http://127.0.0.1:8080/rep or http://<IP_ADDRESS_OF_SERVER_WITH_DOCKER>:8080/rep If you want to log on to container proreports run command: docker exec -it proreports bash or podman exec -it proreports bash Note!
If the container is helpful in ProReports tests click star in Docker Hub if you want to add you own JDBC drivers to container run command: docker run -itd -p 8080:8080 -v /dir_with_drivers:/libjar --name proreports gemail/docker-proreports or podman run -itd -p 8080:8080 -v /dir_with_drivers:/libjar --name proreports gemail/docker-proreports where /dir_with_drivers - directory with jdbc drivers (*.jar files) or another java libraries In cluster SWARM you can create service with command: docker service create -p 8080:8080 --mode global --name proreports gemail/docker-proreports and with you own JDBC drivers: docker service create -p 8080:8080 --mount type=bind,source=/dir_with_drivers,target=/libjar --mode global --name proreports gemail/docker-proreports Run service proreports with own configuration.If You want to create service proreports with own configuration you must:
tar -xzvf ProReports.utf8-lin.tar.gz
mkdir /tmp/prv_repo
cp /usr/ProReports.utf8/webapps-plus/rep/version.php /tmp/prv_repo/ cp /usr/ProReports.utf8/etc/jetty.xml /tmp/prv_repo/ cp /usr/ProReports.utf8/webapps-plus/rep/WEB-INF/web.xml /tmp/prv_repo/ cp /usr/ProReports.utf8/repo.xml /tmp/prv_repo/
docker config create repo_ver /tmp/prv_repo/version.php docker config create repo_jetty /tmp/prv_repo/jetty.xml docker config create repo_webxml /tmp/prv_repo/web.xml docker config create repo_xml /tmp/prv_repo/repo.xml
docker service create -p 8080:8080 \ -e ENV_REPO_VER=repo_ver \ -e ENV_REPO_JETTY=repo_jetty \ -e ENV_REPO_JETTY=repo_webxml \ -e ENV_REPO_XML=repo_xml \ --config repo_ver \ --config repo_jetty \ --config repo_webxml \ --config repo_xml \ --mount type=bind,source=/dir_with_drivers,target=/libjar \ --mode global \ --name proreports gemail/docker-proreports or another way: docker service create -p 8080:8080 \ --config source=repo_ver,target=/usr/ProReports.utf8/webapps-plus/rep/version.php \ --config source=repo_jetty,target=/usr/ProReports.utf8/etc/jetty.xml \ --config source=repo_webxml,target=/usr/ProReports.utf8/webapps-plus/rep/WEB-INF/web.xml \ --config source=repo_xml,target=/usr/ProReports.utf8/repo.xml \ --mount type=bind,source=/dir_with_drivers,target=/libjar \ --mode global \ --name proreports gemail/docker-proreports Additionally you can set another variables: List of environment variables
Important!
To increase the level of security, change the salt value in the MagicStringSession() function in the file <proreports_dir>/webapps-plus/rep/version.php Run service proreports with persistent database and plugin directory
tar -xzvf ProReports.utf8-lin.tar.gz
cp /usr/ProReports.utf8/BASE/* /DBREPO/
cp /usr/ProReports.utf8/webapps-plus/rep/files/* /repo_files/
docker service create -p 8080:8080 \ --mount type=bind,source=/DBREPO,target=/usr/ProReports.utf8/BASE \ --mount type=bind,source=/repo_files,target=/usr/ProReports.utf8/webapps-plus/rep/files \ --mode global \ --name proreports gemail/docker-proreports Info!
The best solution is to create shared filesystems based on gluster. Then, after a failure of the proreports service on one node in SWARM cluster, it will be able to run without problems on another node. Make own container image for ProReports
mkdir /tmp/build
cp ProReports.utf8-lin.tar.gz /tmp/build
FROM centos:latest
MAINTAINER YOUR_MAIL
ENV PATH=$PATH:/usr/ProReports.utf8
ENV JAVA_HOME=/usr/ProReports.utf8/JRE/openjdk1.8.0_181
ENV TS=Europe/Warsaw
EXPOSE 8080
COPY ProReports.utf8-lin.tar.gz /usr/
RUN cd /usr/ && \
tar xvzf ProReports.utf8-lin.tar.gz && \
rm -f ProReports.utf8-lin.tar.gz && \
export http_proxy=http://<your_proxy_ip>:3128 && \
yum -y install wget && \
cd /usr/ProReports.utf8
WORKDIR /usr/ProReports.utf8
CMD ["/bin/sh","-c","/usr/ProReports.utf8/start-docker.sh"]
Info!
Line with <your_proxy_ip> is needed if you have proxy in your network.
docker build -t <your_account_in_docker_hub>/<name_of_image> . for example: docker build -t gemail/docker-proreports . This page may have a more recent version on pmwiki.org: PmWiki:Docker, and a talk page: PmWiki:Docker-Talk. |