Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noteed/rescoyl
Private Docker registry
https://github.com/noteed/rescoyl
Last synced: about 1 month ago
JSON representation
Private Docker registry
- Host: GitHub
- URL: https://github.com/noteed/rescoyl
- Owner: noteed
- License: other
- Created: 2014-08-16T19:21:34.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-08T19:17:24.000Z (over 7 years ago)
- Last Synced: 2024-07-31T21:57:06.152Z (5 months ago)
- Language: Haskell
- Homepage:
- Size: 46.9 KB
- Stars: 15
- Watchers: 8
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-docker - Rescoyl - Private Docker registry (free and open source) by [@noteed](https://github.com/noteed) (Docker Images / Registry)
- awesome-docker - Rescoyl - Private Docker registry (free and open source) by [@noteed](https://github.com/noteed) (Docker Images / Registry)
README
# The Rescoyl Docker registry
Rescoyl is a Docker registry. It is tested against the official
[docker-registry](https://github.com/docker/docker-registry) project using
[Rescoyl Checks](https://github.com/noteed/rescoyl-checks). It is currently in
development.## Building the image
To create a local Docker image with Rescoyl ready to run, simply run:
> make
Building the image requires `images.reesd.com/reesd/stack`, an image containing
GHC and some dependencies. For that reason, the simplest way to run the image
on any machine without registry is to dump the resulting image as a tarball.
The Makefile can creates such a tarball:> make rescoyl.tar.xz
On another machine, loading the tarball within Docker is self-sufficient:
> docker load -i rescoyl.tar.xz
In both cases, you will end up with an image called `noteed/rescoyl`.
Note: that `images.reesd.com/reesd/stack` is not yet public. Until then, simply
`cabal install` and then optionally build the Docker image (see in the Makefile
for an example).## Running
To run the image locally, e.g. for testing, there is no need to forward ports:
> docker run -d noteed/rescoyl
Note: you need to make sure that `registry.local` (or whatever you want to call
it to test it) resolves to your running Docker container, possibly by editing
your `/etc/hosts` file.Otherwise:
> docker run -d -p 80:80 noteed/rescoyl
Note: normally the storage area of the container should be mapped on the host
file system, for instance:> mkdir /IMAGES
> docker run -d -p 80:80 -v /IMAGES:/store noteed/rescoyl## Testing
### Prepare a dind-rescoyl (container) volume
The tests run in their own container and they will download an ubuntu:12.04
image. To avoid re-downloading that image repeatedly, you can do it once and
keep around the resulting volume. The test script will use the volume from a
container named `dind-rescoyl`.> docker run --name dind-rescoyl \
-t -i --privileged images.reesd.com/hypered/dind
root@aaaaaaaaaaaa:/# docker pull ubuntu:12.04
^DAfter you can check that running a container with `--volumes-from dind-rescoyl`
will have the ubuntu:12.04 image already present.### `rescoyl-checks`
The tests require a copy of the `rescoyl-checks` executable in the current
directory.### Run the tests
The tests are run as follow:
> ./integration rescoyl # to run against Rescoyl
or
> ./integration registry # to run against the official registry