TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

CRFS: Container Registry Filesystem

104 pointsby helperabout 6 years ago

8 comments

koolbaabout 6 years ago
&gt; Fortunately, we can fix the fact that tar.gz files are unindexed and unseekable, while still making the file a valid tar.gz file by taking advantage of the fact that two gzip streams can be concatenated and still be a valid gzip stream. So you can just make a tar file where each tar entry is its own gzip stream.<p>I&#x27;m surprised nobody came up with this idea till now. It&#x27;s brilliantly simple.
评论 #19466687 未加载
评论 #19466204 未加载
评论 #19466545 未加载
评论 #19468429 未加载
bradfitzabout 6 years ago
Author here.<p>I just moved this to <a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;crfs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;crfs</a> if people want to track that repo instead of Go&#x27;s build system (which is relatively boring for most people).
toomuchtodoabout 6 years ago
This is very cool! I&#x27;ve been waiting to see someone enable tar.gz files to be seekable so they could be object bundles stored in remote blob storage systems that a client could mount and seek through on demand by byte range (so you could treat data in a similar fashion to containers, or like a Mac DMG file that had an open standard for remote mounting).
maxmcdabout 6 years ago
Conceivably this could be leveraged to allow docker for mac to only push deltas to the build virtual machine when running docker build, correct?<p>Currently docker build compressed everything in the working directory on every build. This is fine for building images for deploy&#x2F;upload but is annoying for a local dev situation where you&#x27;re frequently rebuilding.<p>Seems like it wouldn&#x27;t be too hard to write an alternate docker build that checks a previously built &quot;Stargz&quot; and just sends the additional files? (There would be some complexity here reassembling a valid tar within hyperkit).<p>I might be missing something here, it might be misplacing the bottleneck during build, but every time I&#x27;m annoying by this problem it seems part of the issue is the single fat tar that needs to be created every time.<p>edit: this strategy could also work with docker-machine building on remote machines
caternabout 6 years ago
In the introduction:<p>&gt;Currently, however, starting a container in many environments requires doing a pull operation from a container registry to read the entire container image from the registry and write the entire container image to the local machine&#x27;s disk. It&#x27;s pretty silly (and wasteful) that a read operation becomes a write operation.<p>What&#x27;s silly is to claim that this is the problem. Any read is going to be a write operation, at multiple levels, thanks to systems of transparent caching: To a nearby CDN, to local disk, to local memory, to your CPU cache, etc. These are optimizations, they aren&#x27;t making your container startup any slower.<p>The real problem, which this tool indeed helps to solve, is that reading the entire image must complete before you&#x27;re able to start further processes which read specific parts of the image. Not anything to do with &quot;reads causing writes&quot;.
评论 #19467236 未加载
fulafelabout 6 years ago
If the bottleneck of pulling was eliminated by this, it means the test runs didn&#x27;t need to access most of the image, right? I wonder what this says about carrying unnecessary stuff or test coverage. Especially since the base distro layers were probably cached.<p>Edit: &quot; For isolation and other reasons, we run all our containers in a single-use fresh VMs.&quot; So they had no caching for the base layers unless those were primed in the vm image?
tsurkoprtabout 6 years ago
Why not directly use www.lucidlink.com, same result but read&#x2F;write
评论 #19471233 未加载
whalesaladabout 6 years ago
TaaS – Tar as a Service.