Skip to main content

Docker Model

When a Docker Model is started on-demand it will be provided with a directory (via environment variable INPUTS_DIRECTORY) which contains model input in the form of a JSON file (inputs.json) and another directory (via environment variable OUTPUTS_DIRECTORY), for it to write out its run result. The result is expected to be written out to an output JSON file (outputs.json).

Depending on the configuration of the Docker Model Runner framework the content of the input JSON file and the location of the output directory vary.

Docker Model only

In this configuration, the inputs.json takes the content of the Model Inputs data store. The content of outputs.json will be copied to to the Model Outputs data store.

Docker Model with a Post-Processor

In this configuration, the inputs.json still takes the content of the Model Inputs data store. However, Dais expects the input JSON object to have a path, control.path, where it could insert seed information for different runs. See the section on the expected output of a Pre-Processor service for an example of the expected path.

The content of outputs.json will be zipped and copied to a location in the File Manager. The url of the zipped file will be made available to the Post-Processor service. The example at this link illustrates what is sent to the Post-Processor service.

Docker Model with a Pre- and a Post-Processor

In this configuration, the inputs.json takes the content of one of the many versions of input JSON objects generated by the Pre-Processor service. The content of outputs.json will be zipped and copied to a location in the File Manager. The url of the zipped file will be made available to the Post-Processor service. The example at this link illustrates what is sent to the Post-Processor service.