{"id":46046,"date":"2020-01-30T09:27:39","date_gmt":"2020-01-30T07:27:39","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=46046"},"modified":"2020-01-30T09:27:43","modified_gmt":"2020-01-30T07:27:43","slug":"dive-docker-image-explorer","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/","title":{"rendered":"dive &#8211; Docker image explorer"},"content":{"rendered":"<!-- google_ad_section_start -->\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"413\" data-attachment-id=\"46049\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/dive\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?fit=1734%2C1083&amp;ssl=1\" data-orig-size=\"1734,1083\" 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=\"dive\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?fit=660%2C413&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive-1024x640.gif?resize=660%2C413&#038;ssl=1\" alt=\"\" class=\"wp-image-46049\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?resize=1024%2C640&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?resize=500%2C312&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?resize=768%2C480&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?resize=1536%2C959&amp;ssl=1 1536w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive.gif?w=1320 1320w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/wagoodman\/dive\">dive<\/a> is a Docker image explorer.  This is a very handy tool when you are trying to figure out how a Docker image was built and what&#8217;s in it, and you don&#8217;t have the original Dockerfile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It uses the meta information for each layer to show you which command was used to create the layer, and which files were added, removed, or changed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, you can use dive to make sure your Docker images are optimized and their size is under control.  You can even integrate dive into your CI\/CD pipeline!<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what&#8217;s in it, and you don&#8217;t have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer, &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">dive &#8211; Docker image explorer<\/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":"dive - Docker image explorer #Docker #containers #SysAdmin #DevOps","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],"keyring_services":[],"class_list":["post-46046","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-sysadmin","category-technology","tag-containers","tag-docker"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what&#039;s in it, and you don&#039;t have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"dive \u2013 Docker image explorer - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what&#039;s in it, and you don&#039;t have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-30T07:27:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-01-30T07:27:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"dive \u2013 Docker image explorer - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what&#039;s in it, and you don&#039;t have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#blogposting\",\"name\":\"dive \\u2013 Docker image explorer - Leonid Mamchenkov\",\"headline\":\"dive &#8211; Docker image explorer\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/dive-1024x640.gif\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#articleImage\"},\"datePublished\":\"2020-01-30T09:27:39+02:00\",\"dateModified\":\"2020-01-30T09:27:43+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#webpage\"},\"articleSection\":\"All, Linux, Sysadmin, Technology, containers, Docker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"name\":\"Linux\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"position\":3,\"name\":\"Linux\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#listItem\",\"name\":\"dive &#8211; Docker image explorer\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#listItem\",\"position\":4,\"name\":\"dive &#8211; Docker image explorer\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"name\":\"Linux\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/\",\"name\":\"dive \\u2013 Docker image explorer - Leonid Mamchenkov\",\"description\":\"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what's in it, and you don't have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2020\\\/01\\\/30\\\/dive-docker-image-explorer\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2020-01-30T09:27:39+02:00\",\"dateModified\":\"2020-01-30T09:27:43+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"dive \u2013 Docker image explorer - Leonid Mamchenkov","description":"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what's in it, and you don't have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#blogposting","name":"dive \u2013 Docker image explorer - Leonid Mamchenkov","headline":"dive &#8211; Docker image explorer","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2020\/01\/dive-1024x640.gif","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#articleImage"},"datePublished":"2020-01-30T09:27:39+02:00","dateModified":"2020-01-30T09:27:43+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#webpage"},"articleSection":"All, Linux, Sysadmin, Technology, containers, Docker"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","name":"Linux"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","position":3,"name":"Linux","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#listItem","name":"dive &#8211; Docker image explorer"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#listItem","position":4,"name":"dive &#8211; Docker image explorer","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","name":"Linux"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/","name":"dive \u2013 Docker image explorer - Leonid Mamchenkov","description":"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what's in it, and you don't have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2020-01-30T09:27:39+02:00","dateModified":"2020-01-30T09:27:43+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"dive \u2013 Docker image explorer - Leonid Mamchenkov","og:description":"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what's in it, and you don't have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,","og:url":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2020-01-30T07:27:39+00:00","article:modified_time":"2020-01-30T07:27:43+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"dive \u2013 Docker image explorer - Leonid Mamchenkov","twitter:description":"dive is a Docker image explorer. This is a very handy tool when you are trying to figure out how a Docker image was built and what's in it, and you don't have the original Dockerfile. It uses the meta information for each layer to show you which command was used to create the layer,","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"46046","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 06:01:49","updated":"2026-01-15 14:19:48","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/\" title=\"Linux\">Linux<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tdive \u2013 Docker image explorer\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Linux","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/"},{"label":"dive &#8211; Docker image explorer","link":"https:\/\/mamchenkov.net\/wordpress\/2020\/01\/30\/dive-docker-image-explorer\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":39413,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/20\/kraken-p2p-docker-registry\/","url_meta":{"origin":46046,"position":0},"title":"Kraken &#8211; p2p Docker registry","author":"Leonid Mamchenkov","date":"March 20, 2019","format":false,"excerpt":"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\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\/03\/kraken.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/kraken.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":27262,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/01\/20\/10-things-to-avoid-in-docker-containers\/","url_meta":{"origin":46046,"position":1},"title":"10 things to avoid in Docker containers","author":"Leonid Mamchenkov","date":"January 20, 2017","format":false,"excerpt":"10 things to avoid in Docker containers provides a handy reminder of what NOT to do when building Docker containers. \u00a0Read the full article for details and explanations. \u00a0For a brief summary, here are the 10 things: Don\u2019t store data in containers Don\u2019t ship your application in two pieces Don\u2019t\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":36740,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/02\/learn-enough-docker-to-be-useful\/","url_meta":{"origin":46046,"position":2},"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":46046,"position":3},"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":27527,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/19\/bitbucket-pipelines-improved-support-for-docker\/","url_meta":{"origin":46046,"position":4},"title":"BitBucket Pipelines improved support for Docker","author":"Leonid Mamchenkov","date":"April 19, 2017","format":false,"excerpt":"Here are some exciting news from the BitBucket Pipelines blog:\u00a0Bitbucket Pipelines now supports building Docker images, and service containers for database testing. We developed Pipelines to enable teams to test and deploy software faster, using Docker containers to manage their build environment. Now we\u2019re adding advanced Docker support \u2013 building\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\/2017\/04\/service-containers-pipelines-500x262.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27515,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/10\/docker-image-vulnerability-research\/","url_meta":{"origin":46046,"position":5},"title":"Docker Image Vulnerability Research","author":"Leonid Mamchenkov","date":"April 10, 2017","format":false,"excerpt":"Federacy has an interesting research in Docker image vulnerabilities. \u00a0The bottom line is: 24% of latest Docker images have significant vulnerabilities This can and should be improved, especially given the whole hierarchical structure of Docker images. \u00a0It's not like improving security of all those random GitHub repositories.","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\/2017\/04\/images_vulnerable_by_distribution-500x297.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/46046","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=46046"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/46046\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=46046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=46046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=46046"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=46046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}