Live data from Hacker News

Where are Docker images stored?

blog.thoward37.me

11–20 of 24 posts

Re: Where are Docker images stored?

#11
post #2

Is there any way to run your own Docker repository? Edit: Looks like the correct term is registry.

You can fork the registry code [1]. We work in a regulated industry (healthcare) and need excellent access controls and auditing/logging. Forking the registry and rolling our own is possible, but not something we want to spend time on. So we looked around for private registries. We went with Quay [2] and have been really happy. They're responsive, performant, and on top of enterprise-level requirements.

[1] http://blog.docker.io/2013/07/how-to-use-your-own-registry/ [2] https://quay.io/

Re: Where are Docker images stored?

#12
post #7

(1) Who pays the bills for the public registry (docker.io) and why? (2) Is there a future possibility similar to how so many Ruby projects fall down when GitHub goes down due to not 'pit-of-success-ing'[1] a copy of everything locally? [1] http://blogs.msdn.com/b/brada/archive/2003/10/02/50420.aspx

Why do you '[1]' links?

Re: Where are Docker images stored?

#13
post #7

(1) Who pays the bills for the public registry (docker.io) and why? (2) Is there a future possibility similar to how so many Ruby projects fall down when GitHub goes down due to not 'pit-of-success-ing'[1] a copy of everything locally? [1] http://blogs.msdn.com/b/brada/archive/2003/10/02/50420.aspx

Why do you '[1]' links?

[deleted]

Re: Where are Docker images stored?

#14
post #7

(1) Who pays the bills for the public registry (docker.io) and why? (2) Is there a future possibility similar to how so many Ruby projects fall down when GitHub goes down due to not 'pit-of-success-ing'[1] a copy of everything locally? [1] http://blogs.msdn.com/b/brada/archive/2003/10/02/50420.aspx

Why do you '[1]' links?

Part of HN's convention, especially since there are often more than one link, is to use end-noted links rather than inline ones. This makes the prose easier to read, and still makes it easy to identify and annotate the importance of links.

Re: Where are Docker images stored?

#15
post #7

(1) Who pays the bills for the public registry (docker.io) and why? (2) Is there a future possibility similar to how so many Ruby projects fall down when GitHub goes down due to not 'pit-of-success-ing'[1] a copy of everything locally? [1] http://blogs.msdn.com/b/brada/archive/2003/10/02/50420.aspx

Why do you '[1]' links?

I'm to lazy to do the classier footnote¹ most of the time.

Re: Where are Docker images stored?

#16
post #9

Images may also be stored in one of the available private registries. As the Co-Founder, I am partial to Quay.io [ https://quay.io ], which in my not so humble opinion has the best features, reliability, and support for businesses and organizations, but there are other options if for some reason Quay.io doesn't meet your needs. For those who prefer to self-host, we've also got an enterprise option, which brings all o…

Regarding the shameless product plug: Quay looks like a very cool product. Love the history and diff views. Glad to see pricing mimics Github model "pay for private, but public is free and unlimited". Awesome!

Regarding complexity in Docker: So here's the thing, people wanted npm, but they got git. How can we bridge the gap between a easy to use, out of your way package manager and a fully featured DVCS experience? I love the idea of merging them, but IMO, need to make the semantic model more accessible. Specifically, need to ensure concepts are properly orthogonal, not overloaded, and unambiguously defined. Might be too late to scrub this aspect though.

Some other general problems are things like checksums, fingerprints, image signing, etc. How to verify the validity of an image?

Re: Where are Docker images stored?

#18
post #9

Images may also be stored in one of the available private registries. As the Co-Founder, I am partial to Quay.io [ https://quay.io ], which in my not so humble opinion has the best features, reliability, and support for businesses and organizations, but there are other options if for some reason Quay.io doesn't meet your needs. For those who prefer to self-host, we've also got an enterprise option, which brings all o…

Regarding the shameless product plug: Quay looks like a very cool product. Love the history and diff views. Glad to see pricing mimics Github model "pay for private, but public is free and unlimited". Awesome! Regarding complexity in Docker: So here's the thing, people wanted npm, but they got git. How can we bridge the gap between a easy to use, out of your way package manager and a fully featured DVCS experience? I…

I will speak to the issues about which I am familiar.

Checksums are currently uploaded by the client and verified by the registry. Signing is on the roadmap[1]. I'm not sure what you mean by a fingerprint, would this be analogous to an SSH host key? What function would it serve if you already had a signature that only you could reproduce?

[1]: https://github.com/dotcloud/docker/issues/2700

Re: Where are Docker images stored?

#19
post #14

Earlier quoted context omitted.

Why do you '[1]' links?

Part of HN's convention, especially since there are often more than one link, is to use end-noted links rather than inline ones. This makes the prose easier to read, and still makes it easy to identify and annotate the importance of links.

I kind of wonder why HN doesn't support [Markdown-style](http://daringfireball.net/projects/markdown/syntax#link) links. It almost makes me miss Reddit.

I suppose it's to make it clear where links go, and discourage trolling... but browsers failing to show you where links go is a failing of browser chrome, and people who are concerned about that can install extensions that make link destinations more obvious.

Re: Where are Docker images stored?

#20
To put it another way:

1. a Docker registry is like (or maybe just is) an S3 bucket: a dumb, private object-store.

2. A docker index is a database-backed web service with a REST API, that clients talk to.

3. The web service can generate temporary tokens that let you GET things from, and PUT things in, the bucket.

4. The web service's database has a model of an image "project" similar to a Git repository: version history, branches, and other metadata.

5. The bucket contains the image repository's "object pool." Just like git, when you pull a branch, the client downloads all the "objects" required to check out that branch.

Post reply on HN