Versions Compared

Key

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

Table of Contents

Resources

...

Warning

Published DSpace 7 Docker images are used for our demo sites.  But, we highly recommend institutions analyze them prior to usage in Production.  We do not have Docker in production experts on our current developer team. But, contributions/improvements to our Docker scripts are always welcome.

...

This repository contains an issue list of enhancement ideas.

Published Docker Images

  • .org uses Docker images tagged with "dspace-7_x" (for backend) and "dspace-7_x-dist" (for frontend). These tags are based on our maintenance branch for 7.x
  • https://sandbox.dspace.org uses Docker images tagged with "latest" (for backend) and "latest-dist" (for frontend). These "latest" tags are bleeding edge code on our "main" branch. (Never use "latest" in production! It may not always be stable)

Published Docker Images

...

...

...

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

...

    • dspace-6_x

...

Docker Image Source

Proposal: Support Multiple JDK Versions

  • DSpace 7
    • Backend (REST API) scripts at

...

...

Technical Support and Project Communication 

#dspace-docker Slack Channel or Support

Additional Resources

...

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

...

  • Try out DSpace 7 (includes basic Docker instructions for DSpace 7)
  • Older talks (these may all be outdated, but might be useful for basic concepts)