{"id":39413,"date":"2019-03-20T08:08:22","date_gmt":"2019-03-20T06:08:22","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=39413"},"modified":"2019-03-20T08:08:25","modified_gmt":"2019-03-20T06:08:25","slug":"kraken-p2p-docker-registry","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/20\/kraken-p2p-docker-registry\/","title":{"rendered":"Kraken &#8211; p2p Docker registry"},"content":{"rendered":"<!-- google_ad_section_start -->\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"394\" data-attachment-id=\"39414\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/20\/kraken-p2p-docker-registry\/kraken\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?fit=884%2C528&amp;ssl=1\" data-orig-size=\"884,528\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kraken\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?fit=660%2C394&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?resize=660%2C394&#038;ssl=1\" alt=\"\" class=\"wp-image-39414\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?w=884&amp;ssl=1 884w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?resize=500%2C299&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?resize=768%2C459&amp;ssl=1 768w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/uber\/kraken\">Kraken<\/a> by Uber:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Kraken is a P2P-powered Docker registry that focuses on scalability and availability. It is designed for Docker image management, replication and distribution in a hybrid cloud environment. With pluggable backend support, Kraken can easily integrate into existing Docker registry setups as the distribution layer.<br>Kraken has been in production at Uber since early 2018. In our busiest cluster, Kraken distributes more than 1 million blobs per day, including 100k 1G+ blobs. At its peak production load, Kraken distributes 20K 100MB-1G blobs in under 30 sec.<\/p><\/blockquote>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Kraken by Uber: Kraken is a P2P-powered Docker registry that focuses on scalability and availability. It is designed for Docker image management, replication and distribution in a hybrid cloud environment. With pluggable backend support, Kraken can easily integrate into existing Docker registry setups as the distribution layer.Kraken has been in production at Uber since early &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/20\/kraken-p2p-docker-registry\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Kraken &#8211; p2p Docker registry<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Kraken - p2p Docker registry #WebDev #hosting #Docker #containers #virtualization","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,6,133,62],"tags":[3421,3420,3104,1330,2289],"keyring_services":[],"class_list":["post-39413","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-sysadmin","category-technology","tag-containers","tag-docker","tag-virtualization","tag-web-development","tag-web-hosting"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":36094,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/25\/how-to-build-a-serverless-ci-cd-pipeline-on-aws\/","url_meta":{"origin":39413,"position":0},"title":"How To Build a Serverless CI\/CD Pipeline On AWS","author":"Leonid Mamchenkov","date":"February 25, 2019","format":false,"excerpt":"\"How To Build a Serverless CI\/CD Pipeline On AWS\" is a nice guide to some of the newer Amazon AWS services, targeted at developers and DevOps. It shows how to tie together the following: Amazon EC2 (server instances)Docker (containers)Amazon ECR (Elastic Container Registry)Amazon S3 (storage)Amazon IAM (Identity and Access Management)Amazon\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":36740,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/02\/learn-enough-docker-to-be-useful\/","url_meta":{"origin":39413,"position":1},"title":"Learn Enough Docker to be Useful","author":"Leonid Mamchenkov","date":"March 2, 2019","format":false,"excerpt":"\"Learn Enough Docker to be Useful\" is a series of articles (so far 6) that explains different parts of Docker in a very simple and straightforward way. Here are the parts so far: Docker conceptsDocker ecosystemDockerfileSlimming down Docker imagesDocker commandsDocker data","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/docker.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/docker.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/docker.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/docker.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":42771,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/07\/03\/lazydocker-a-simple-terminal-ui-for-both-docker-and-docker-compose\/","url_meta":{"origin":39413,"position":2},"title":"Lazydocker &#8211; a simple terminal UI for both docker and docker-compose","author":"Leonid Mamchenkov","date":"July 3, 2019","format":false,"excerpt":"Lazydocker is a simple terminal UI for easier management of Docker. This is particularly useful for new Docker users, but can as well save plenty of keystrokes to the seasoned administrators.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/07\/lazydocker.gif?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/07\/lazydocker.gif?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/07\/lazydocker.gif?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/07\/lazydocker.gif?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/07\/lazydocker.gif?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/07\/lazydocker.gif?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":28375,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/11\/slimming-down-docker-images\/","url_meta":{"origin":39413,"position":3},"title":"Slimming down Docker images","author":"Leonid Mamchenkov","date":"February 11, 2018","format":false,"excerpt":"It's been a while since I posted anything about Docker.\u00a0 That's mostly because I still don't really use it for anything - playing around locally, testing and learning doesn't count yet. But just to keep the ball rolling, here are a couple of handy links for the ideas on how\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":34007,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/14\/php-docker-images\/","url_meta":{"origin":39413,"position":4},"title":"PHP Docker images","author":"Leonid Mamchenkov","date":"February 14, 2019","format":false,"excerpt":"phpdaily\/php is a collection of the daily updated Docker images for a variety of PHP versions. Interestingly, these include even the most recent development versions, like PHP 8.0.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":35248,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/19\/docker-and-kubernetes-in-high-security-environments\/","url_meta":{"origin":39413,"position":5},"title":"Docker and Kubernetes in high security environments","author":"Leonid Mamchenkov","date":"February 19, 2019","format":false,"excerpt":"\"Docker and Kubernetes in high security environments\" is an interesting case-study from the Swedish Police Authority, on how to setup and maintain a high security configuration of Docker and Kubernetes. Not something that you'd think of on a daily basis, but a very handy guide for a weekend reading, or\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/39413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=39413"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/39413\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=39413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=39413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=39413"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=39413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}