Public Repository

Last pushed: 8 months ago
Short Description
Hyrax besd running without configuration on CentOS
Full Description

This image is based on the official centos image. It contains all of the software dependencies to run the BESD script from Opendap (, but it does not include all required configuration.

Opendap version matches the image version tag from 1.12.2 forward, 1.12.2 is deployed on centos6, later releases will utilize the OS release that releases the appropriate pacakges for).

For a complete Hyrax instance, the OLFS service must also be configured and running; see nsidc/olfs.system. These two images are the basis for the OPeNDAP deployment running at

Required Configuration

To get a properly running instance of BESD from this image, the following files must be included in the running container:


At NSIDC, our OPeNDAP configuration files are stored in a private git repository. We use a Dockerfile to create the "configuration layer" image, which starts from the publicly available image here, copies the config files into place, and starts the BES process:

FROM nsidc/besd.system:latest
COPY ff.conf /etc/bes/modules/ff.conf
COPY dap.conf /etc/bes/modules/dap.conf
COPY bes.conf /etc/bes/bes.conf
ENTRYPOINT /usr/bin/beslistener -c /etc/bes/bes.conf -d /var/log/bes/bes.log,-ascii,-besdaemon,-csv,-dap,-ff,-fojson,-fonc,-fong,-gateway,-gdal,-h4,-h5,-nc,-ncml,-ppt,-reader,-server,-usage,-w10n,-www,-xd -i /usr -r /var/run/bes


Since Hyrax consists of mulitple services, we use Docker Compose to manage the containers, allowing us to treat it as a single Ubuntu service.

For the BESD configuration, we specify volumes to mount on the container; these volumes contain the data and metadata files served by OPeNDAP, as well as logs produced by the process so they persist outside of the container lifecycle.

  image: olfs:latest
   - "8080:8080"
   - besd
  tty: true
   - /var/log/opendap/nginx:/var/log/nginx/
   - /var/log/opendap/tomcat:/var/log/tomcat/
  image: besd:latest
   - /ftp:/ftp:ro
   - /share:/share:ro
   - /share/apps/opendap/DATASETS:/usr/local/share/hyrax/DATASETS:ro
   - /var/log/opendap/bes:/var/log/bes/

Docker Pull Command