3.4. Building Docker Images Locally#
If you want to modify the SimBricks Docker images — for example, to bake additional simulators or custom disk images into an executor — you can build them locally from the main repository:
git clone https://github.com/simbricks/simbricks.git
cd simbricks
make docker-images
This builds and locally tags the three images simbricks/simbricks-baseenv,
simbricks/simbricks-runner, and simbricks/simbricks-executor (see Using Pre-Built Docker Images
for what each contains). The corresponding Dockerfiles live in docker/.
A few knobs are configurable via make variables (see docker/rules.mk): DOCKER_REGISTRY
and DOCKER_TAG for naming, and CONDA_CHANNEL to build against the latest (default) or
stable SimBricks conda channel.
Note
The executor image installs the simulator packages and the image build tooling, and builds no disk image: the images SimBricks publishes are downloaded on first use (The images SimBricks publishes).
For custom executor environments it is usually easier to extend the pre-built images than to rebuild them, e.g.:
FROM simbricks/simbricks-executor
RUN micromamba install -y simbricks-my-simulator-sim-bin
COPY my-image/ /global_input/images/my-image/