1
0
mirror of https://github.com/octoleo/plantuml-server.git synced 2024-12-22 08:48:54 +00:00

Merge pull request #42 from Ducatel/master

Multiple docker images
This commit is contained in:
arnaudroques 2017-04-28 11:56:14 +02:00 committed by GitHub
commit cc7409a124
7 changed files with 52 additions and 37 deletions

View File

@ -11,6 +11,13 @@ script:
after_success:
- docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
- if [ "$TRAVIS_BRANCH" == "master" ]; then
docker build -t plantuml/plantuml-server:latest . ;
docker image build -t plantuml/plantuml-server:jetty -f Dockerfile.jetty . ;
docker image build -t plantuml/plantuml-server:tomcat -f Dockerfile.tomcat . ;
docker image tag plantuml/plantuml-server:jetty plantuml/plantuml-server:latest ;
docker push plantuml/plantuml-server:tomcat;
docker push plantuml/plantuml-server:jetty;
docker push plantuml/plantuml-server:latest;
fi

View File

@ -1,8 +1,20 @@
FROM jetty
MAINTAINER D.Ducatel
FROM maven:3-jdk-8
RUN apt-get update && \
apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && \
rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && rm -rf /var/lib/apt/lists/*
ADD target/plantuml.war /var/lib/jetty/webapps/ROOT.war
COPY pom.xml /app/
COPY src /app/src/
ENV MAVEN_CONFIG=/app/.m2
WORKDIR /app
RUN mvn package
# chmod required to ensure any user can run the app
RUN mkdir /app/.m2 && chmod -R a+w /app
EXPOSE 8080
ENV HOME /app
CMD java -Djetty.contextpath=/ -jar target/dependency/jetty-runner.jar target/plantuml.war
# To run with debugging enabled instead
#CMD java -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -Dorg.eclipse.jetty.LEVEL=DEBUG -Djetty.contextpath=/ -jar target/dependency/jetty-runner.jar target/plantuml.war

8
Dockerfile.jetty Normal file
View File

@ -0,0 +1,8 @@
FROM jetty
MAINTAINER D.Ducatel
RUN apt-get update && \
apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && \
rm -rf /var/lib/apt/lists/*
ADD target/plantuml.war /var/lib/jetty/webapps/ROOT.war

View File

@ -1,20 +0,0 @@
FROM maven:3-jdk-8
RUN apt-get update && apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && rm -rf /var/lib/apt/lists/*
COPY pom.xml /app/
COPY src /app/src/
ENV MAVEN_CONFIG=/app/.m2
WORKDIR /app
RUN mvn package
# chmod required to ensure any user can run the app
RUN mkdir /app/.m2 && chmod -R a+w /app
EXPOSE 8080
ENV HOME /app
CMD java -Djetty.contextpath=/ -jar target/dependency/jetty-runner.jar target/plantuml.war
# To run with debugging enabled instead
#CMD java -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -Dorg.eclipse.jetty.LEVEL=DEBUG -Djetty.contextpath=/ -jar target/dependency/jetty-runner.jar target/plantuml.war

8
Dockerfile.tomcat Normal file
View File

@ -0,0 +1,8 @@
FROM tomcat:9
MAINTAINER D.Ducatel
RUN apt-get update && \
apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && \
rm -rf /var/lib/apt/lists/*
ADD target/plantuml.war /usr/local/tomcat/webapps/ROOT.war

View File

@ -1,4 +0,0 @@
# Dockerfile
FROM tomcat:8
RUN apt-get update && apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && rm -rf /var/lib/apt/lists/*
ADD target/*.war /usr/local/tomcat/webapps/

View File

@ -1,7 +1,8 @@
PlantUML Server
===============
[![Build Status](https://travis-ci.org/plantuml/plantuml-server.png?branch=master)](https://travis-ci.org/plantuml/plantuml-server)
[![](https://images.microbadger.com/badges/image/plantuml/plantuml-server.svg)](https://microbadger.com/images/plantuml/plantuml-server "Get your own image badge on microbadger.com")
[![Docker Pull](https://img.shields.io/docker/pulls/plantuml/plantuml-server.svg)](https://hub.docker.com/r/plantuml/plantuml-server/)
PlantUML Server is a web application to generate UML diagrams on-the-fly.
![](https://raw.githubusercontent.com/ftomassetti/plantuml-server/readme/screenshots/screenshot.png)
@ -35,22 +36,25 @@ mvn jetty:run -Djetty.port=9999
How to run the server with Docker
=================================
You can run Plantuml with jetty or tomcat container
```
docker run -d -p 8080:8080 plantuml/plantuml-server
docker run -d -p 8080:8080 plantuml/plantuml-server:jetty
docker run -d -p 8080:8080 plantuml/plantuml-server:tomcat
```
The server is now listing to [http://localhost:8080](http://localhost:8080).
Alternate: How to run the server with Tomcat + Docker?
Alternate: How to build your docker image
======================================================
Above method uses maven to run the application. That requires internet connectivity. That is undesireable in a corporate environment with firewalls. So, you can use following command to create a self-contained docker image that will "just-work".
This method uses maven to run the application. That requires internet connectivity.
So, you can use following command to create a self-contained docker image that will "just-work".
*Note: Generate the WAR (instructions further below) prior to running "docker build"*
```
docker build -t plantuml-server:tomcat8 -f Dockerfile.tomcat8 .
docker run -d -p 8080:8080 plantuml-server:tomcat8
docker image build -t plantuml-server .
docker run -d -p 8080:8080 plantuml-server
```
The server is now listing to [http://localhost:8080/plantuml](http://localhost:8080/plantuml).