Public | Automated Build

Last pushed: 5 months ago
Short Description
The base image from which all other Islandora CLAW Docker images are built, based on Alpine Linux.
Full Description

Islandora CLAW: Base Docker Image




:heavy_exclamation_mark: :heavy_exclamation_mark: :heavy_exclamation_mark:

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.

:heavy_exclamation_mark: :heavy_exclamation_mark: :heavy_exclamation_mark:

Introduction

The base Docker image from which all other Islandora CLAW Docker images are built, based on Alpine Linux.

Includes

Build Arguments

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 .

Environment Variables

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

Commands

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.

Notes

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.

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.

Current 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

Docker Pull Command
Owner
islandora
Source Repository

Comments (0)