This example is about creating docker images of JChem Microservices manually. If you want to use the official images, see the official-docker-images example.
- install docker
- install docker-compose
- copy
jws_unix_21.13.tar.gz
to folder (Download it from here: JChem Micorservices 21.13) - copy
license.cxl
to folder
docker-compose up
The above setup has the following volumes:
dbdata
to save molecules uploaded tojws-db
logdata
where you can find all the logsconfig
holds all the configurations for the application for more information please see our documentationlicense
is the volume to share thelicense.cxl
file between containers
If you want to change any JVM arguments you can pass them to the executables with a -J
prefix, like:
-J-Xmx4g
would set the maximum memory of the JVM to 4 GB. You should write these extra settings to the
end of the command
in the docker-compose.yml
file.
The services share a configuration server which is a way to centralize all the settings for the servers. This services tells every other services the configurations and where to find the service-registry. The service-registry is an eureka. All services register here. We also provide you gateway service which is a simple Zuul proxy. This service can loadbalance your requests and can also retry to send them if any of the services fail. And you have the following ChemAxon services:
- jws-db a simple service to store search and retrieve chemical data
- jws-calculations stateless chemical calculations
- jws-markush some markush tools to handle generative structures
- jws-io format conversions between chemical representations
- jws-structure tools to change your chemical structures
All services (except jws-db) can be scaled up indefinitely.