Install FusionReactor in Docker¶
In the fusionreactor-docker GitHub repository we have example Dockerfiles for:
You can take these resources and use these as examples for your own Dockerfiles.
Installation example¶
If we take the Dockerfile for Tomcat, for example:
FROM tomcat
ADD myApp.war /usr/local/tomcat/webapps
You now add in FusionReactor by writing the following lines:
FROM tomcat
ADD myApp.war /usr/local/tomcat/webapps
#Creates a FusionReactor Directory
RUN mkdir -p /opt/fusionreactor/instance/tomcat
#Adds the fusionreactor.jar file to the instance directory
ADD https://download.fusionreactor.io/FR/Latest/fusionreactor.jar /opt/fusionreactor/instance/tomcat
#Adds the debug library file to the instance directory
ADD https://download.fusionreactor.io/FR/Latest/libfrjvmti_x64.so /opt/fusionreactor/instance/tomcat
#Adds FusionReactor to the JVM arguments
ENV JAVA_OPTS="-javaagent:/opt/fusionreactor/instance/tomcat/fusionreactor.jar=name=tomcat,address=8088 -agentpath:/opt/fusionreactor/instance/tomcat/libfrjvmti_x64.so"
Adding a configuration file to Docker¶
The configuration of FusionReactor is stored in the reactor.conf file of your FusionReactor instance.
You can take an existing reactor.conf file from an instance of FusionReactor that has already been configured and place this in your Dockerfile. You can find the configuration of FusionReactor from another instance at {FusionReactor Directory}/instance/{Instance Name}/conf/reactor.conf. See Copying FusionReactor configuration to new instances.
The following 2 lines are all that would be required to pass in a configuration file:
RUN mkdir -p /opt/fusionreactor/instance/{Instance Name}/conf
ADD reactor.conf
RUN mkdir -p /opt/fusionreactor/instance/{Instance Name}/conf
System properties to add to a container¶
FusionReactor has System properties to configure the instance password, license key, Enterprise Dashboard and FusionReactor Cloud. These arguments can be found in FusionReactor System Properties.
Persisting log files using Docker volumes¶
To persist the FusionReactor logs outside of the container, you can use a Docker volume so that logs are stored on the host machine. For example:
docker run -v /opt/docker/share/fusionreactor/{instance name}/log:/opt/fusionreactor/instance/{instance name}/log -v /opt/docker/share/fusionreactor/{instance name}/archive:/opt/fusionreactor/instance/{instance name}/archive ...
Docker compose¶
volumes:
- /opt/docker/share/fusionreactor/{instance name}/log:/opt/fusionreactor/instance/{instane name}/log
- /opt/docker/share/fusionreactor/{instance name}/archive:/opt/fusionreactor/instance/{instance name}/archive
Videos¶
Java Docker¶
ColdFusion Docker¶
Configuring Docker¶
Need more help?
Contact support in the chat bubble and let us know how we can assist.