install spack under /opt/spack in docker images (#10969)
* install spack under /opt/spack
This commit is contained in:
parent
9e72fc48c8
commit
0bbd41c7f7
@ -10,7 +10,7 @@ ARG DISTRO_VERSION
|
|||||||
ENV DOCKERFILE_BASE=$BASE \
|
ENV DOCKERFILE_BASE=$BASE \
|
||||||
DOCKERFILE_DISTRO=$DISTRO \
|
DOCKERFILE_DISTRO=$DISTRO \
|
||||||
DOCKERFILE_DISTRO_VERSION=$DISTRO_VERSION \
|
DOCKERFILE_DISTRO_VERSION=$DISTRO_VERSION \
|
||||||
SPACK_ROOT=/spack \
|
SPACK_ROOT=/opt/spack \
|
||||||
FORCE_UNSAFE_CONFIGURE=1 \
|
FORCE_UNSAFE_CONFIGURE=1 \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
CURRENTLY_BUILDING_DOCKER_IMAGE=1 \
|
CURRENTLY_BUILDING_DOCKER_IMAGE=1 \
|
||||||
@ -124,22 +124,34 @@ RUN rm -rf /var/lib/apt/lists/*
|
|||||||
|
|
||||||
MASK POP
|
MASK POP
|
||||||
|
|
||||||
RUN rm -rf $SPACK_ROOT/.git \
|
RUN rm -rf $SPACK_ROOT/.git \
|
||||||
&& pip install boto3 \
|
&& pip install boto3 \
|
||||||
&& ( echo ". /usr/share/lmod/lmod/init/bash" \
|
&& ( echo ". /usr/share/lmod/lmod/init/bash" \
|
||||||
&& echo ". $SPACK_ROOT/share/spack/setup-env.sh" \
|
&& echo ". \\\$SPACK_ROOT/share/spack/setup-env.sh" \
|
||||||
&& echo "if [ \"\$CURRENTLY_BUILDING_DOCKER_IMAGE\" '!=' '1' ]" \
|
&& echo "if [ \\\"\\\$CURRENTLY_BUILDING_DOCKER_IMAGE\\\" '!=' '1' ]" \
|
||||||
&& echo "then" \
|
&& echo "then" \
|
||||||
&& echo " . $SPACK_ROOT/share/spack/spack-completion.bash" \
|
&& echo " . \\\$SPACK_ROOT/share/spack/spack-completion.bash" \
|
||||||
&& echo "fi" ) \
|
&& echo "fi" ) \
|
||||||
>> /etc/profile.d/spack.sh \
|
>> /etc/profile.d/spack.sh \
|
||||||
&& ln -s $SPACK_ROOT/share/spack/docker/handle-ssh.sh \
|
&& ( echo "f=\\\"\\\$SPACK_ROOT/share/spack/docker/handle-ssh.sh\\\"" \
|
||||||
/etc/profile.d/handle-ssh.sh \
|
&& echo "if [ -f \\\"\\\$f\\\" ]" \
|
||||||
&& ln -s $SPACK_ROOT/share/spack/docker/handle-prompt.sh \
|
&& echo "then" \
|
||||||
/etc/profile.d/handle-prompt.sh \
|
&& echo " . \\\"\\\$f\\\"" \
|
||||||
&& mkdir -p /root/.spack \
|
&& echo "else" \
|
||||||
&& cp $SPACK_ROOT/share/spack/docker/modules.yaml \
|
&& cat $SPACK_ROOT/share/spack/docker/handle-ssh.sh \
|
||||||
/root/.spack/modules.yaml \
|
&& echo "fi" ) \
|
||||||
|
>> /etc/profile.d/handle-ssh.sh \
|
||||||
|
&& ( echo "f=\\\"\\\$SPACK_ROOT/share/spack/docker/handle-prompt.sh\\\"" \
|
||||||
|
&& echo "if [ -f \\\"\\\$f\\\" ]" \
|
||||||
|
&& echo "then" \
|
||||||
|
&& echo " . \\\"\\\$f\\\"" \
|
||||||
|
&& echo "else" \
|
||||||
|
&& cat $SPACK_ROOT/share/spack/docker/handle-prompt.sh \
|
||||||
|
&& echo "fi" ) \
|
||||||
|
>> /etc/profile.d/handle-prompt.sh \
|
||||||
|
&& mkdir -p /root/.spack \
|
||||||
|
&& cp $SPACK_ROOT/share/spack/docker/modules.yaml \
|
||||||
|
/root/.spack/modules.yaml \
|
||||||
&& rm -rf /root/*.*
|
&& rm -rf /root/*.*
|
||||||
|
|
||||||
MASK PUSH
|
MASK PUSH
|
||||||
@ -156,6 +168,10 @@ RUN [ -f ~/.profile ] \
|
|||||||
|
|
||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
SHELL ["/bin/bash", "-l", "-c"]
|
SHELL ["/bin/bash", "-l", "-c"]
|
||||||
ENTRYPOINT ["/bin/bash", "/spack/share/spack/docker/entrypoint.bash"]
|
|
||||||
|
# TODO: add a command to Spack that (re)creates the package cache
|
||||||
|
RUN spack spec hdf5+mpi
|
||||||
|
|
||||||
|
ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"]
|
||||||
CMD ["docker-shell"]
|
CMD ["docker-shell"]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user