Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dockerfile for ImageJ.app #182

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.git
39 changes: 39 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Development Dockerfile for ImageJ
# ---------------------------------
# This dockerfile can be used to build an
# ImageJ.app directory which can then be run
# within a number of different Docker images.

# By default, building this dockerfile will use
# the IMAGE argument below for the runtime image.
ARG IMAGE=openjdk:8-jre-alpine

# To install the built ImageJ.app into other runtimes
# pass a build argument, e.g.:
#
# docker build --build-arg IMAGE=openjdk:9 ...
#

# Similarly, the MAVEN_IMAGE argument can be overwritten
# but this is generally not needed.
ARG MAVEN_IMAGE=maven:3.5-jdk-8

#
# Build phase: Use the maven image for building.
#
FROM ${MAVEN_IMAGE} as maven
RUN adduser ij
COPY . /src
RUN chown -R ij /src
USER ij
WORKDIR /src
RUN bin/populate-app.sh

#
# Install phase: Copy the build ImageJ.app into a
# clean container to minimize size.
#
FROM ${IMAGE}
COPY --from=maven /src/ImageJ.app /ImageJ.app
ENV PATH $PATH:/ImageJ.app
ENTRYPOINT ["ImageJ-linux64"]