Simulation tools which implement the BioSimulators Docker image standard should provide an entry point that maps to a command-line interface that implements the BioSimulators standard for command-line interfaces for biosimulation tools:
ENTRYPOINT ["simulator-standard-interface"]).
CMD []).
Simulation tools which implement the BioSimulators Docker image standard
should use labels to provide metadata consistent with the Open
Containers Initiative
Specifically, images should provide the following labels:
org.opencontainers.image.title: Human-readable title
of the image.
org.opencontainers.image.version: Version of the
software in the image.
org.opencontainers.image.revision: Source control
revision identifier of the software in the image.
org.opencontainers.image.description: Human-readable
description of the software in the image.
org.opencontainers.image.url: URL to find more
information about the image.
org.opencontainers.image.documentation: URL to get
documentation about the image.
org.opencontainers.image.source: URL to get the
Dockerfile for building the image.
org.opencontainers.image.authors: Contact details of
the people or organization responsible for the image.
org.opencontainers.image.vendor: Name of the entity,
organization or individual which distributes the image.
org.opencontainers.image.licenses: SPDX expression
which describes the license(s) under which the software in the
image is distributed.
org.opencontainers.image.created: Date and time when
the image was built (RFC 3339).
version: Version of the image (e.g.,
1.0.0)
software: Simulation program wrapped into the image
(e.g., BioNetGen).
software.version: Version of the simulation program
wrapped into the image (e.g., 2.5.0).
about.summary: Short description of the simulation
program (e.g.,
Package for rule-based modeling of complex biochemical
systems).
about.home: URL for the simulation program (e.g.,
https://bionetgen.org/).
about.documentation: URL for documentation for the
simulation program (e.g., https://bionetgen.org/).
about.license_file: URL for the license for the
simulation program (e.g.,
https://github.com/RuleWorld/bionetgen/blob/master/LICENSE).
about.license: SPDX license id for the license for
the simulation program (e.g., SPDX:MIT). See SPDX
about.tags: Comma-separated list of tags which
describe the simulation program (e.g.,
rule-based modeling,dynamical simulation,systems
biology,BNGL,BioSimulators). Please include the tag BioSimulators.
extra.identifiers.biotools: Optionally, the bio.tools
identifier for the simulation program (e.g.,
bionetgen). Visit bio.tools
maintainer: Name and email of the person/team who
developed the image (e.g.,
Jonathan Karr <karr@mssm.edu>).
To ensure that containerized simulation tools can be executed inside
high-performance computing clusters where root access is typically not
allowed and conversion to Singularity images is necessary, we recommend
that developers also follow the best practices below for Dockerfiles.
For more discusion, we recommend Syslab's best practice guide for
Singularity images
assets/, deleted
and squashed out of the final image, and injected again when the image
is executed.
/root should be be reserved for the home directory of the
user which executes the image. Similarly, /tmp should be
reserved for temporary files that must be created during the execution
of the image. Consequently, the simulation tools inside containers and
their dependencies should be installed to different directories other
than /root and /tmp.
ENV directive.
USER directive.
An an example, below is a portion of the Dockerfile for an image for
tellurium