Archived / Obsolete Documentation

Documentation in this space is no longer accurate.
Looking for official DSpace documentation? See all documentation

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

Resources

Docker Image Source and Tutorial

https://dspace-labs.github.io/DSpace-Docker-Images/

This repository contains an issue list of enhancement ideas.

Published Docker Images

https://hub.docker.com/u/dspace/

Technical Support and Project Communication 

#dspace-docker Slack Channel

DSpace Developer Show and Tell Meeting

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

Current Implementation

branchJDKtagDockerfile
master8master./Dockerfile
dspace-6_x8dspace-6_x./Dockerfile
dspace-5_x8dspace-5_x./Dockerfile
dspace-4_x8dspace-4_x./Dockerfile


Proposal: Support Multiple JDK Versions


branchJDKtagold tag nameDockerfileMavenANTTomcatNote
master8dspace-7_x-jdk8master/Dockerfile.jdk8maven:latest1.10.5tomcat:8
master8dspace-7_x-jdk8-test
/Dockerfile.jdk8-testmaven:latest1.10.5tomcat:8testing optimizations*
dspace-6_x8dspace-6_x-jdk8dspace-6_x/Dockerfile.jdk8
maven:latest1.10.5tomcat:8
dspace-6_x8dspace-6_x-jdk8-test
/Dockerfile.jdk8-testmaven:latest1.10.5tomcat:8testing optimizations*
dspace-5_x8dspace-5_x-jdk8dspace-5_x/Dockerfile.jdk8maven:latest1.10.5tomcat:8DSpace 5x/Tomcat8 not recommended for usage
dspace-5_x8dspace-5_x-jdk8-test
/Dockerfile.jdk8maven:latest1.10.5tomcat:8testing optimizations*
dspace-5_x7dspace-5_x-jdk7
/Dockerfile.jdk7maven:3.5.4-jdk-7
or maven:latest
1.9.13tomcat:7.0.90-jre7
dspace-5_x7dspace-5_x-jdk7-test
/Dockerfile.jdk7maven:3.5.4-jdk-7
or maven:latest
1.9.13tomcat:7.0.90-jre7testing optimizations*
dspace-4_x7dspace-4_x-jdk7
/Dockerfile.jdk7maven:3.5.4-jdk-7
or maven:latest
1.9.13tomcat:7.0.90-jre7(The old tag dspace-4_x had been built with jdk8)
dspace-4_x7dspace-4_x-jdk7-test
/Dockerfile.jdk7-testmaven:3.5.4-jdk-7
or maven:latest
1.9.13tomcat:7.0.90-jre7(The old tag dspace-4_x had been built with jdk8)

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

Docker 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

  • No labels