A feature full Tomcat (SSL over APR, etc.) running ERDDAP
Available versions:
axiom/docker-erddap:latest
axiom/docker-erddap:2.11
axiom/docker-erddap:2.10
axiom/docker-erddap:2.02
axiom/docker-erddap:1.82
axiom/docker-erddap:1.80
See all versions available here. As always, consult the ERDDAP Changes documentation before upgrading your sever.
The upstream image this project uses replaces tagged images with new images periodically. Even for release tags. This repository will not back-port changes from the upstream image to existing tags and overwrite them. If you require features from a newer upstream image (for example - SHA512 password hashes) you will have to wait for the next ERDDAP release which will be built with the newest upstream image. You can also build this image yourself.
Use latest
image with caution as it follows the upstream image, and is not as thoroughly tested as tagged images.
Dependabot is used to automatically make PRs to update the upstream image (.github/dependabot.yml
).
$ docker run -d -p 8080:8080 axiom/docker-erddap
GenerateDatasetsXml
$ docker run --rm -it \
-v $(pwd)/logs:/erddapData/logs \
axiom/docker-erddap:latest \
bash -c "cd webapps/erddap/WEB-INF/ && bash GenerateDatasetsXml.sh -verbose"
See these instructions for configuring Tomcat from the Tomcat image this is built from (unidata/tomcat-docker
).
-
Mount your own
content/erddap
directory:$ docker run \ -v /path/to/your/erddap/directory:/usr/local/tomcat/content/erddap \ ... \ axiom/docker-erddap
Your content directory should contain a setup.xml and dataset.xml file. It can also include CSS assets that you reference in your custom
setup.xml
file.If you just want to change setup.xml and dataset.xml, you can mount them individually:
$ docker run \ -v /path/to/your/setup.xml:/usr/local/tomcat/content/erddap/setup.xml \ -v /path/to/your/datasets.xml:/usr/local/tomcat/content/erddap/datasets.xml \ ... \ axiom/docker-erddap
Any custom setup.xml needs to specify
<bigParentDirectory>/erddapData/</bigParentDirectory>
-
Mount your own
bigParentDirectory
:$ docker run \ -v /path/to/your/erddap/bigParentDirectory:/erddapData \ ... \ axiom/docker-erddap
This is highly recommended, or nothing will persist across container restarts (logs/cache/etc.)
-
Specify the amount of memory to be allocated:
$ docker run \
--env ERDDAP_MIN_MEMORY=4G --env ERDDAP_MAX_MEMORY=8G
... \
axiom/docker-erddap
Note that both environment variables will fall back to a single ERDDAP_MEMORY variable, which in turn falls back to 4G by default.