install spack under /opt/spack in docker images (#10969)
* install spack under /opt/spack
This commit is contained in:
		| @@ -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         \ | ||||||
| @@ -127,16 +127,28 @@ 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\\\""                                           \ | ||||||
|  |     && echo "else"                                                         \ | ||||||
|  |     && cat  $SPACK_ROOT/share/spack/docker/handle-ssh.sh                   \ | ||||||
|  |     && 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                                                  \ |  && mkdir -p /root/.spack                                                  \ | ||||||
|  && cp $SPACK_ROOT/share/spack/docker/modules.yaml                         \ |  && cp $SPACK_ROOT/share/spack/docker/modules.yaml                         \ | ||||||
|         /root/.spack/modules.yaml                                          \ |         /root/.spack/modules.yaml                                          \ | ||||||
| @@ -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"] | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Omar Padron
					Omar Padron