Skip to content

Commit

Permalink
Minimize image
Browse files Browse the repository at this point in the history
  • Loading branch information
Jennings Zhang authored and Jennings Zhang committed Apr 28, 2023
1 parent bd9b52f commit 29a4c61
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 2 deletions.
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# warning: unofficial base image is not stable and may change in the future!
FROM docker.io/fnndsc/mni-conda-base:unofficial
FROM docker.io/fnndsc/pl-fetal-surface-extract:base-1

LABEL org.opencontainers.image.authors="Jennings Zhang <Jennings.Zhang@childrens.harvard.edu>" \
org.opencontainers.image.title="pl-fetal-surface-extract" \
Expand Down
1 change: 1 addition & 0 deletions base/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
40 changes: 40 additions & 0 deletions base/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
FROM docker.io/fnndsc/microminc-builder:latest as builder

RUN microminc.sh \
adapt_object_mesh \
dilate_volume \
minccalc \
mincchamfer \
mincdefrag \
mincresample \
mincreshape \
param2xfm \
sphere_mesh \
surface_mask2 \
transform_objects \
inflate_to_sphere_implicit \
inflate_to_sphere \
create_tetra \
print_n_polygons \
subdivide_polygons \
interpolate_sphere \
depth_potential \
vertstats_math \
volume_object_evaluate \
adapt_metric \
/microminc

# perl libraries need to be copied manually
RUN cp -r /opt/CIVET/dist/perl /microminc/perl

# MNI data needs to be copied manually
RUN mkdir -vp /microminc/share \
&& cp -rv "$MNI_DATAPATH/surface-extraction" "/microminc/share"

FROM fnndsc/conda:python3.11.2
COPY --from=builder /microminc /opt/microminc
ENV PATH=/opt/microminc/bin:$PATH \
LD_LIBRARY_PATH=/opt/microminc/lib:$LD_LIBRARY_PATH \
MINC_FORCE_V2=1 MINC_COMPRESS=4 VOLUME_CACHE_THRESHOLD=-1 \
MNI_DATAPATH=/opt/microminc/share \
PERL5LIB=/opt/microminc/perl
5 changes: 5 additions & 0 deletions base/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Uses [microminc](https://github.com/FNNDSC/microminc)
to create a minimized base image for `pl-fetal-surface-extract`,
which copies the necessary minc-tool binaries to a multi-arch conda image.

This image is built and pushed manually.
6 changes: 6 additions & 0 deletions base/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash -ex

exec docker buildx build --push \
--platform linux/amd64,linux/arm64,linux/ppc64le \
--build-arg http_proxy=$http_proxy \
-t docker.io/fnndsc/pl-fetal-surface-extract:base-1 .

0 comments on commit 29a4c61

Please sign in to comment.