Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

A collection of Docker image submodules and documentation.

License

Notifications You must be signed in to change notification settings

islandora-deprecated/claw-docker

Repository files navigation

Islandora CLAW Docker

Contribution Guidelines LICENSE

❗ ❗ ❗

Since Islandora CLAW has moved development to Drupal 8, our Docker images no longer function properly. We recommend using the vagrant build instead. Please follow the Islandora listserv and weekly CLAW Tech Calls for updates about the status of Docker and Ansible with Islandora CLAW.

Please note that even with vagrant, there is not yet a stable release of Islandora CLAW. We welcome your volunteer contributions to help get the project to production.

❗ ❗ ❗

Introduction

This repository is provided as a convenience for pulling down and building / running all the Docker images that Islandora CLAW provides.

Each image has it's own Git repository, they are included in this repository as sub-modules.

You must run the command git submodule update --init --recursive after cloning this repository to fetch them.

The Docker images can be found in the images directory.

If you are new to Docker, please read though our overview, to get an idea of what Docker is all about.

Dependencies

  • Docker >= 1.10.1
  • Docker Compose >= 1.6.0 (optional)
  • Docker Machine >= 0.6.0 (optional)
  • Vagrant >= 1.8.1 (optional)

There are a lot of ways you can run and manipulate Docker applications. Hence why every dependency is marked as optional, though you must pick one.

See our install guide for more information.

Quick Start

Assumes you have already setup and installed Docker and Docker Composer. If you are running this on your local machine, you may need to change the Drupal container port from 80 to 8000 in docker-compose.yml.

  1. git clone https://github.com/Islandora-CLAW/claw-docker.git
  2. cd claw-docker
  3. git submodule update --init --recursive
  4. cp example.docker-compose.yml docker-compose.yml (edit docker-compose.yml)
  5. sudo ./commands/generate-env-files
  6. sudo ./commands/build
  7. sudo docker-compose up

Usage

We provide two methods for running Islandora CLAW with Docker.

  1. Single Container Application
  2. Multiple Container Application

Single Container Application

This includes all the dependencies and tools required to run Islandora in a single container (along with some developer tools).

This approach is not meant for production use, and has many limitations when it comes to scaling Islandora.

It's provided as a way to easily test and develop against Islandora, it's vastly easier to deploy and manipulate than the multiple container application.

Visit the repository to learn more.

Multiple Container Application

This is the standard approach when using Docker. We split out every dependency into it's own container and then link them together at run-time.

This is suitable for production use, and can be made to scale easily. As we can spin up any number of containers and put them behind a load-balancer container or behind caching containers, etc.

Eventually we will add support and examples with Docker Swarm, such that we can run a large number of containers across a large number of servers. With this we could do massive ingests is on short time scales.

Please read out Multiple Container User Guide to learn more.

Also checkout our Development Guide if you plan on doing some development work.

Commands

For convenience a number of commands are provided in the commands directory.

Command Notes
generate-env-files Generates the required enviroment files to run docker-compose.
build Builds all the images and tags them with the current commit and branch.
pull Pulls down the latest version of all images.
cache-clear Fixes sync issues with docker and vagrant shared folders. (boot2docker only)
remove-inactive-volumes Deletes volumes not associated with running or stopped container.
remove-stopped-containers Removes stopped containers.
remove-untagged-images Removes un-tagged images.

Kernel Issues

There are some known kernal issues that mess with the Java based images, If you experience troubles please review the and apply the provided workarounds:

moby/moby#18180

Specifically follow the instructions in this comment:

moby/moby#18180 (comment)

FAQ

Question: I get the following message Cannot connect to the Docker daemon. Is the docker daemon running on this host?.

Answer: Check to see if the Docker VM is running, if not start it, also setup the environment eval $(docker-machine env default)

Maintainers/Sponsors

  • UPEI
  • discoverygarden inc.
  • LYRASIS
  • McMaster University
  • University of Limerick
  • York University
  • University of Manitoba
  • Simon Fraser University
  • PALS
  • American Philosophical Society
  • common media inc.

Maintainers

Development

If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!

If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor Licencse Agreement. Please see the Contributors pages on Islandora.ca for more information.

License

MIT

Reference Material

About

A collection of Docker image submodules and documentation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages