Example Dockerfiles for Banner XE applications. Base images using Oracle Linux 6 and Alpine. Using Oracle Java and Apache Tomcat.
- Download and place ojdbc6.jar and xdb6.jar in each of the base image directories you want to use.
- build base images
- Oracle Linux 6 images
docker build -t base-admin:ol6-tomcat7-java7 base-admin/ol6-tomcat7-java7/.
docker build -t base-admin:ol6-tomcat8-java8 base-admin/ol6-tomcat8-java8/.
docker build -t base-ss:ol6-tomcat7-java7 base-ss/ol6-tomcat7-java7/.
docker build -t base-ss:ol6-tomcat8-java8 base-ss/ol6-tomcat8-java8/.
- Alpine images
docker build -t base-admin:alpine-tomcat7-java7 base-admin/alpine-tomcat7-java7/.
docker build -t base-admin:alpine-tomcat8-java8 base-admin/alpine-tomcat8-java8/.
docker build -t base-ss:alpine-tomcat7-java7 base-ss/alpine-tomcat7-java7/.
docker build -t base-ss:alpine-tomcat8-java8 base-ss/alpine-tomcat8-java8/.
- Build XE application through ESM or Manually
- Move build war file into corresponding directory
- Build XE application docker image
- Run container with ENV config
- Connect in LB
These containers are designed to behind a load balancer and should not be connected to directly.
-
Build base-ss image
docker build -t base-ss:ol6-tomcat7-java7 base-ss/ol6-tomcat7-java7/.
-
Copy built applicationNavigator.war into applicationNavigator/
-
Build Application Navigator
docker build -t applicationNavigator:2.0.1 ApplicationNavigator/.
- Run container
docker run -e "BANPROXY_JDBC_URL=jdbc:oracle:thin:@//oracle.example.edu:1521/prod" -e "BANPROXY_PASSWORD=password" -e "TIMEZONE=America/Denver" appliationNavigator:2.0.1 -d
There are currently two base-ss images base-ss:ol6-tomcat7-java7 and base-ss:ol6-tomcat8-java8, this is to be compliant with Ellucian's applications server requirements.
Oracle Java is being used in these images and by using them you are agreeing to Oracle's java use agreements.
JAVA_HOME is /opt/jre-home
-
BANPROXY_JDBC_URL=jdbc:oracle:thin:@//oracle.example.edu:1521/prod
-
BANPROXY_PASSWORD=password
-
BANSSUSER_JDBC_URL=jdbc:oracle:thin:@//oracle.example.edu:1521/prod
-
BANSSUSER_PASSWORD=password
-
SCHEME=https
-
PROXY_PORT=443
-
PROXY_NAME=host.example.edu
- TIMEZONE=America/Denver
- XMS=2048m
- XMX=4g
- MAXPERMSIZE=384m
- BANPROXY_INITIALSIZE=5
- BANPROXY_MAXACTIVE=100
- BANPROXY_MAXIDLE=-1
- BANPROXY_MAXWAIT=30000
- BANSSUSER_INITIALSIZE=5
- BANSSUSER_MAXACTIVE=100
- BANSSUSER_MAXIDLE=-1
- BANSSUSER_MAXWAIT=30000
- LOGFILEDIR=/usr/local/tomcat/logs
- photos
- extensibility
There are two locations that you will want to create attach a volume for photos and extensibility. Currently /opt/xe/images is created in the base-ss images. Then in the extensibility Dockerfile creates out the /opt/xe/extensibility to hold the local files.
-
BANPROXY_JDBC_URL=jdbc:oracle:thin:@//oracle.example.edu:1521/prod
-
BANPROXY_PASSWORD=password
-
SCHEME=https
-
PROXY_PORT=443
-
PROXY_NAME=host.example.edu
- TIMEZONE=America/Denver
- XMS=2048m
- XMX=4g
- MAXPERMSIZE=384m
- BANPROXY_INITIALSIZE=5
- BANPROXY_MAXACTIVE=100
- BANPROXY_MAXIDLE=-1
- BANPROXY_MAXWAIT=30000
- BANSSUSER_INITIALSIZE=5
- BANSSUSER_MAXACTIVE=100
- BANSSUSER_MAXIDLE=-1
- BANSSUSER_MAXWAIT=30000
- LOGFILEDIR=/usr/local/tomcat/logs
- Shrink images
- Base images using alpine
- Base images using ubuntu
- boot script to customize XE application (so image can be used across environments)
- Docker Compose example
- Rancher compose example
- Kubernetes example