Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#dspace-docker Slack Channel

DSpace Developer Show and Tell Meeting

Dev Show and Tell - Aug 28, 2018 - 1500UTC - DSpace On DockerHub

Current Implementation

...

Proposal: Support Multiple JDK Versions

...

Image Variants for Testing

Note: the following *testing optimizations will be added to image variants

  • Localhost restriction for SOLR will be removed
  • SSL requirement for the rest service will be removed

Implementation Notes

  • Can we place multiple Dockerfiles into separate directories?
    • When building from the command line, it is possible to build with a Dockerfile in a subdirectory.
    • Unfortunately, the automated build process on Docker Hub changes the context directory for the build and cannot find necessary resources if the Dockerfile does not live in the root directory.
    • Solution: create multiple Dockerfiles in the root directory with meaningful names.
  • We can create contextual README files for each release.  
    • Unless we move the Dockerfiles to a subdirectory, we cannot change the README that displays in Docker Hub.
    • Solution: I have added a note to the main DSpace README file (see the PR above)

Image Verification Script

Sample script output

Code Block
languagetext
titleDocker Image Verification Script
#!/bin/sh
# CD to docker-compose dir
export DOCKER_OWNER=dspace
export DOCKER_OWNER=terrywbrady
export DPROJ=test-image


function checkImage {

  removeVols
  export DSPACE_VER=$1
  docker-compose -p $DPROJ up -d
  echo " ===== ${DSPACE_VER} ===== "
  docker exec ${DPROJ}_dspace_1 //dspace/bin/dspace version | egrep "DSpace version:|JRE:"
  checkUrl foo
  checkUrl xmlui
  checkUrl oai/request
  checkUrl solr
  checkUrl rest
  echo " ===== ===== ===== "
  docker-compose -p $DPROJ down

}

function checkUrl {
  URL="http://localhost:8080/$1"
  echo "  ---> ${URL} "
  curl -s -I -L $URL | grep "^HTTP"
}

function removeVols {
  vols=`docker volume ls --format "{{.Labels}};{{.Name}}"|grep "com.docker.compose.project=${DPROJ}"|cut -d';' -f2`
  for vol in $vols
  do
    docker volume rm $vol
  done
}

checkImage dspace-7_x-jdk8
checkImage dspace-7_x-jdk8-test
checkImage dspace-6_x-jdk8
checkImage dspace-6_x-jdk8-test
checkImage dspace-5_x-jdk8
checkImage dspace-5_x-jdk8-test
checkImage dspace-5_x-jdk7
checkImage dspace-5_x-jdk7-test
checkImage dspace-4_x-jdk7
checkImage dspace-4_x-jdk7-test

Additional Resources