Skip to content

The Dockerfile had far more problems than I thought - #2

Open
rf2485 wants to merge 1 commit into
SirTwinkleberry:masterfrom
rf2485:patch-2
Open

The Dockerfile had far more problems than I thought#2
rf2485 wants to merge 1 commit into
SirTwinkleberry:masterfrom
rf2485:patch-2

Conversation

@rf2485

@rf2485 rf2485 commented Jul 22, 2026

Copy link
Copy Markdown

Summary of changes:

  • the python version is pinned to 3.12 to avoid drifting to incompatible python versions. 3.12-slim is used to save space.
  • environment language is explicitly set to C.UTF-8 for building MP2Proc
  • WORKDIR is /opt/MP2Proc instead of /root, because otherwise there are permissions errors when running with singularity. It's also more secure.
  • necessary packages for building MP2Proc are installed with apt-get, including build-essential, make, and libniftiio
  • symlinks libboost_timer.so to libboost_timer.so.1.83.0
  • compiles stubs for RNifti and ANTS
  • pip install --no-cache-dir to save space
  • builds MP2Proc using make release
  • tests MP2Proc so errors are caught upon building the image, rather than having the create and run the container for testing

The call to run the program in the container is /opt/MP2Proc/bin/main

Getting this Dockerfile to work gave me angina.

Summary of changes:
- the python version is pinned to 3.12 to avoid drifting to incompatible python versions. 3.12-slim is used to save space.
- environment language is explicitly set to C.UTF-8 for building MP2Proc
- WORKDIR is /opt/MP2Proc instead of /root, because otherwise there are permissions errors when running with singularity. It's also more secure.
- necessary packages for building MP2Proc are installed with apt-get, including build-essential, make, and libniftiio
- symlinks libboost_timer.so to libboost_timer.so.1.83.0
- compiles stubs for RNifti and ANTS
- pip install --no-cache-dir to save space
- builds MP2Proc using make release
- tests MP2Proc so errors are caught upon building the image, rather than having the create and run the container for testing

The call to run the program in the container is /opt/MP2Proc/bin/main

Getting this Dockerfile to work gave me angina.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant