The repository is for local testing purposes, it makes it easier to setup a buildkit builder for use with buildx, capable of multi-platform builds.
It also setups up an local Docker registry at islandora.io
which you can be
used to test generating manifests, registry caching etc.
The repository can be used by isle-buildkit, isle-site-template, sandbox, and others.
If you are looking to use Islandora, please read the official documentation.
- Docker 20.10+
- GNU Make 4.3+
- mkcert 1.4+
- pre-commit 2.19+ (Optional)
Note: The version of
make
that comes with OSX is too old. Please update usingbrew
or another package manager.
$ make
USAGE:
make [TARGET]... [ARG=VALUE]...
ARGS:
BUILDER_NAME The name of the builder. (e.g. isle-builder)
NETWORK_NAME The name of the network. (e.g. isle-builder)
REGISTRY_NAME The name of the registry container. (e.g. isle-builder-registry)
REGISTRY_PORT The port to expose for registry access. Access via HTTPS. (e.g. 0, which will randomly assigned an open port)
REGISTRY_UI_PORT The port to expose for registry UI. Access via HTTP. (e.g. 0, which will randomly assigned an open port)
BUILDER_KEEP_STORAGE When pruning the amount of storage to keep. Set to '0' to remove all. (e.g. 10G)
TARGETS:
start Starts the Docker image registry and creates the builder if it does not exist.
use Switches the default builder to use the one created by the 'start' target.
port Displays the port the Docker image registry is running on.
stop Stops the stops the builder and Docker image registry.
prune Frees up disk space by pruning the builder cache.
destroy Destroys the builder and Docker image registry.
help Displays this help message.
By default no ports are specified so they are allocated dynamically. Though you can choose a port to have it always be consistent (see Usage).
Regardless, you use the following command to print the URLs at which you can access the registry REST API and a web based UI.
$ make port
Registry https://islandora.io:59963
UI http://islandora.io:32805
This makes use of https://islandora.io as the URL for the local Docker image
repository. It is setup to redirect all requests to localhost
.
Assuming you have use the following command to set the default builder to the one created by this repository:
make use
To push to this local repository you must use the name as the image tag like so:
docker buildx build \
--push \
--platform linux/arm64,linux/amd64 \
--tag islandora.io/some-image:latest .
Or if using a bake
you should check which variable to override (typically
REPOSITORY
):
REPOSITORY=islandora.io docker buildx bake --push .
Note that this can be used with docker-compose.yml
and docker-bake.hcl
files.