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.
❗ ❗ ❗
The base Docker image from which all other Islandora CLAW Docker images are built, based on Alpine Linux.
Variable | Required | Default |
---|---|---|
S6_VERSION | no | 1.17.1.2 |
GLIBC_VERSION | no | 2.22-r8 |
CONFD_VERSION | no | 0.11.0 |
Example:
docker build -t islandora/claw-base .
See the s6-overlay repository for what environment variables it exposes, we override the some values as is shown below:
Variable | Required | Default |
---|---|---|
S6_BEHAVIOUR_IF_STAGE2_FAILS | no | 2 |
ETCD_HOST | no | etcd |
ETCD_HOST_PORT | no | 2379 |
ETCD_CONNECTION_TIMEOUT | no | 0 |
etcd can be used to store configuration information instead of environment variables.
Example (foreground, auto-remove, interactive shell):
docker run --rm -ti islandora/claw-base ash
For convenience a number of commands are provided in the commands folder.
Command | Arguments | Defaults | Notes |
---|---|---|---|
build | Build this image with the default settings. | ||
run | ash | Start container, execute the given arguments as a command, then exit. |
Alpine Linux is based on musl libc, so we've included glibc in the base image as there are many applications built on glibc
which are not provided by Alpine Linux's package manager apk. For us it's simpler to use glibc
than to compile our dependencies against musl libc
.
We get our version of glibc
from Andy Shinn, who has built an apk
package of glibc
.
If your considering building out a dependency against musl libc
or glibc
you may want to review the functional differences
between these two libc implementations.
To simplify process management we've opted to use s6, with the s6-overlay package which allows us to run multiple processes in a single container. You may have read that this is bad practice, but we would encourage you to read about the reasoning behind it.
- UPEI
- discoverygarden inc.
- LYRASIS
- McMaster University
- University of Limerick
- York University
- University of Manitoba
- Simon Fraser University
- PALS
- American Philosophical Society
- common media inc.
Current maintainers:
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.