container-registry
container-registry copied to clipboard
container-registry
Container Registry
The Container Registry is implemented using the file system.
- ✅ Implemented of the OCI Distribution Spec
- [x] Pull
- [x] Push
- [x] Content Discovery
- [x] Content Management
- ✅ Supported Docker Client
Why developed?
I have developed this container registry for learning purposes. And the reason why I implemented this using the file system because I thought it would be easier to understand how images are stored and what kind of files are stored.
⚠ BTW, I do not recommend that you run this application in production.
How to try this on your localhost
Need to fix /etc/hosts
like below.
...
# Added by manually
127.0.0.1 container-registry
# End of section
- Build binary -
make build
- Run Container Registry -
./bin/registry
If you want to clean up in testdata
directry, let's use make clean
.
Push
- Pull any images to push -
docker pull registry:2
- Tag to push -
docker tag $(docker images --format '{{.ID}}' --filter=reference='registry') container-registry:5080/registry:latest
- Try push -
docker push container-registry:5080/registry:latest
Pull
Try pull if you have completed push steps
$ docker pull container-registry:5080/registry:latest
debug
docker daemon
MacOS
$ tail -f ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log