GithubHelp home page GithubHelp logo

nvdnkpr / docker-registry-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mafintosh/docker-registry-server

0.0 3.0 0.0 410 KB

docker registry server in node.js

License: MIT License

JavaScript 100.00%

docker-registry-server's Introduction

docker-registry-server

Docker registry implemented in Node.

npm install -g docker-registry-server

You can also pull the docker image

docker pull mafintosh/docker-registry-server

Usage

To start it run

docker-registry-server

Currently data will be stored in ./layers and ./db. For more info run docker-registry-server --help

Authentication

Per default there is no authentication (meaning everyone can push/pull images). You can use the --user command line option to limit registry access.

docker-registry-server --user mafintosh:secret --user another:hunter2

Hooks

Similar to a git repository you can specify hooks that are executed when certain events happen. Currently the following hooks are supported

  • tag (id, tag) Triggered when an image is tagged (happens when you push a tagged image)
  • image (id) Triggered when an image metadata is uploaded
  • layer (id) Triggered when an image layer is uploaded
  • verify (id) Triggered when an image layer+metadata has been verified
  • index (id) Triggered when an image file system data has been indexed

The tag hook is especially useful as it allows you to set up a push->deploy flow.

To add a hook specify it as a command line argument prefixed with --on-{name} {bash-script}

docker-registry-server --on-tag "echo image \$1 was tagged with \$2 - please deploy"

Or add them in a ./hooks/{name} file

APIs

The registry should support all of the APIs specified in the docker docs. In addition, the following APIs are available

GET /v1/images/{id}/tree/{directory}

Returns a JSON array containing the files/folders in {directory} in the image {id}. Fx if you have an image, 4a21b50675ba611ab0e9236c4f9430348d932ea3bf6e9b2af86b47eca9088320 and you want to list the files in /root do

curl localhost:8000/v1/images/4a21b50675ba611ab0e9236c4f9430348d932ea3bf6e9b2af86b47eca9088320/tree/root

GET /v1/images/{id}/blobs/{filename}

Get the file content of {filename} in the image {id}. Fx if you have the same image as above and want to read /root/package.json do

curl localhost:8000/v1/images/4a21b50675ba611ab0e9236c4f9430348d932ea3bf6e9b2af86b47eca9088320/tree/root/package.json

GET /v1/events

Get a newline delimited JSON stream on events from the registry. Use type={name} to limit the events you get.

curl localhost:8000/v1/events?type=tag

License

MIT

docker-registry-server's People

Contributors

mafintosh avatar mcollina avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.