{"id":15070,"date":"2026-01-14T13:45:34","date_gmt":"2026-01-14T05:45:34","guid":{"rendered":"https:\/\/www.cybermedian.com\/in\/docs\/my-document\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/"},"modified":"2026-01-15T11:11:01","modified_gmt":"2026-01-15T03:11:01","slug":"what-is-a-container","status":"publish","type":"docs","link":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/","title":{"rendered":"What is a &#8220;Container&#8221;?"},"content":{"rendered":"<p dir=\"auto\"><strong>Distinguishing C4 containers from Docker containers<\/strong><\/p>\n<p dir=\"auto\">One of the most frequent points of confusion when people first encounter the C4 Model is the term <strong>\u201cContainer\u201d<\/strong> \u2014 especially in 2025\u20132026, when nearly everyone associates \u201ccontainer\u201d with Docker, Kubernetes, container images, and OCI runtimes.<\/p>\n<p dir=\"auto\">The C4 Model uses the word <strong>Container<\/strong> in a completely different, higher-level, <strong>architectural<\/strong> sense \u2014 and it\u2019s important to clearly separate the two concepts right from the start.<\/p>\n<h3 dir=\"auto\">C4 Container: The Architectural \/ Logical Definition<\/h3>\n<p dir=\"auto\">In the C4 Model, a <strong>Container<\/strong> is:<\/p>\n<blockquote dir=\"auto\">\n<p dir=\"auto\">A separately runnable or deployable unit of software that executes code or hosts data.<\/p>\n<\/blockquote>\n<p dir=\"auto\">It represents a <strong>cohesive, bounded piece of the system<\/strong> that:<\/p>\n<ul dir=\"auto\">\n<li>Has its own distinct runtime\/process boundary<\/li>\n<li>Can be developed, built, tested, deployed, scaled, monitored, and (in many cases) replaced somewhat independently<\/li>\n<li>Delivers a significant portion of the overall system\u2019s responsibility<\/li>\n<\/ul>\n<p dir=\"auto\">This is a <strong>logical \/ architectural abstraction<\/strong>, not tied to any specific deployment technology.<\/p>\n<p dir=\"auto\">Examples of C4 Containers (regardless of how they are actually deployed):<\/p>\n<ul dir=\"auto\">\n<li>A Spring Boot REST API service<\/li>\n<li>A React single-page application (SPA) served from its own domain<\/li>\n<li>A native iOS or Android mobile app<\/li>\n<li>A PostgreSQL database instance (or schema logically separated for this system)<\/li>\n<li>A Kafka topic cluster used for event streaming<\/li>\n<li>An AWS Lambda function or group of related functions<\/li>\n<li>A background worker \/ scheduled batch job<\/li>\n<li>A third-party SaaS service treated as a black box (e.g., Stripe, Auth0)<\/li>\n<\/ul>\n<p dir=\"auto\">Key characteristics at Level 2:<\/p>\n<ul dir=\"auto\">\n<li>Focus on <strong>responsibility<\/strong>, <strong>technology choice<\/strong>, and <strong>interaction style<\/strong> (HTTP, gRPC, JDBC, AMQP, etc.)<\/li>\n<li>No concern for pods, nodes, replicas, Helm charts, or container orchestration details yet<\/li>\n<\/ul>\n<h3 dir=\"auto\">Docker \/ OCI Container: The Deployment \/ Runtime Definition<\/h3>\n<p dir=\"auto\">In the DevOps and cloud-native world, a <strong>container<\/strong> (lowercase, usually referring to Docker\/OCI containers) is:<\/p>\n<blockquote dir=\"auto\">\n<p dir=\"auto\">A standardized, lightweight, portable unit of software packaging and execution that includes code + dependencies + runtime environment, isolated via OS-level virtualization (namespaces, cgroups, etc.).<\/p>\n<\/blockquote>\n<p dir=\"auto\">It is a <strong>deployment and runtime artifact<\/strong>:<\/p>\n<ul dir=\"auto\">\n<li>Built from a Dockerfile or similar<\/li>\n<li>Runs via Docker, containerd, Podman, CRI-O, etc.<\/li>\n<li>Orchestrated by Kubernetes, Docker Compose, ECS, Nomad, etc.<\/li>\n<li>Typically one process per container (following the \u201cone process per container\u201d best practice)<\/li>\n<\/ul>\n<p dir=\"auto\">Examples:<\/p>\n<ul dir=\"auto\">\n<li>A Docker image running your Spring Boot JAR<\/li>\n<li>A containerized NGINX reverse proxy<\/li>\n<li>A PostgreSQL Docker container running the database server<\/li>\n<\/ul>\n<h3 dir=\"auto\">Side-by-Side Comparison<\/h3>\n<div>\n<div>\n<div><\/div>\n<\/div>\n<div dir=\"auto\">\n<div><\/div>\n<table dir=\"auto\">\n<thead>\n<tr>\n<th data-col-size=\"sm\">Aspect<\/th>\n<th data-col-size=\"lg\">C4 Container (Level 2)<\/th>\n<th data-col-size=\"lg\">Docker\/OCI Container<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-col-size=\"sm\"><strong>Level of abstraction<\/strong><\/td>\n<td data-col-size=\"lg\">Architectural \/ logical<\/td>\n<td data-col-size=\"lg\">Deployment \/ runtime<\/td>\n<\/tr>\n<tr>\n<td data-col-size=\"sm\"><strong>Purpose<\/strong><\/td>\n<td data-col-size=\"lg\">Communicate high-level structure &amp; technology choices<\/td>\n<td data-col-size=\"lg\">Package, distribute, and run software in isolation<\/td>\n<\/tr>\n<tr>\n<td data-col-size=\"sm\"><strong>Scope<\/strong><\/td>\n<td data-col-size=\"lg\">Can span multiple physical containers \/ pods<\/td>\n<td data-col-size=\"lg\">One process \/ image instance<\/td>\n<\/tr>\n<tr>\n<td data-col-size=\"sm\"><strong>Technology-specific?<\/strong><\/td>\n<td data-col-size=\"lg\">No \u2014 can be monolith, microservice, serverless, etc.<\/td>\n<td data-col-size=\"lg\">Yes \u2014 tied to container runtime standards<\/td>\n<\/tr>\n<tr>\n<td data-col-size=\"sm\"><strong>Examples<\/strong><\/td>\n<td data-col-size=\"lg\">\u201cOrder Service (Java)\u201d, \u201cMobile App (iOS)\u201d, \u201cKafka Event Bus\u201d<\/td>\n<td data-col-size=\"lg\">order-service:1.2.3, postgres:16, kafka-broker<\/td>\n<\/tr>\n<tr>\n<td data-col-size=\"sm\"><strong>Deployment detail<\/strong><\/td>\n<td data-col-size=\"lg\">Not shown (deferred to Deployment Diagram)<\/td>\n<td data-col-size=\"lg\">Very specific (image tags, ports, volumes, etc.)<\/td>\n<\/tr>\n<tr>\n<td data-col-size=\"sm\"><strong>When you see it<\/strong><\/td>\n<td data-col-size=\"lg\">In C4 Container Diagrams<\/td>\n<td data-col-size=\"lg\">In Dockerfile, Kubernetes manifests, CI pipelines<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\n<\/div>\n<\/div>\n<h3 dir=\"auto\">Practical Rule of Thumb<\/h3>\n<ul dir=\"auto\">\n<li>If you\u2019re talking about <strong>architecture<\/strong>, <strong>responsibilities<\/strong>, <strong>communication protocols<\/strong>, and <strong>technology choices<\/strong> \u2192 you\u2019re talking about <strong>C4 Containers<\/strong>.<\/li>\n<li>If you\u2019re talking about <strong>images<\/strong>, <strong>Dockerfiles<\/strong>, <strong>pods<\/strong>, <strong>replicas<\/strong>, <strong>Helm values<\/strong>, or <strong>kubectl apply<\/strong> \u2192 you\u2019re talking about <strong>Docker\/OCI containers<\/strong>.<\/li>\n<\/ul>\n<p dir=\"auto\">A single C4 Container might be deployed as:<\/p>\n<ul dir=\"auto\">\n<li>One Docker container<\/li>\n<li>Multiple replicas\/pods<\/li>\n<li>A serverless function invocation<\/li>\n<li>A VM-based process<\/li>\n<li>Even part of a larger monolith JAR\/WAR<\/li>\n<\/ul>\n<p dir=\"auto\">The mapping between C4 Containers and actual runtime containers is <strong>many-to-many<\/strong> and belongs in the <strong>Deployment Diagram<\/strong> (one of the supporting views covered in Module 5), not the Container Diagram.<\/p>\n<h3 dir=\"auto\">Why This Distinction Matters<\/h3>\n<p dir=\"auto\">Confusing the two leads to common modeling mistakes:<\/p>\n<ul dir=\"auto\">\n<li>Trying to show pods, replicas, or Kubernetes namespaces in a Level 2 Container Diagram (too low-level)<\/li>\n<li>Drawing one giant \u201cMonolith\u201d container when the monolith actually contains multiple logical deployable units<\/li>\n<li>Over-fragmenting into dozens of tiny containers just because each microservice has its own Docker image<\/li>\n<\/ul>\n<p dir=\"auto\">By keeping <strong>C4 Container<\/strong> as a logical, responsibility-focused boundary, your Level 2 diagrams stay clean, focused, and useful for architecture communication \u2014 while leaving runtime\/deployment details for the right level (Deployment view).<\/p>\n<p dir=\"auto\">With this clear distinction in mind, you\u2019re now ready to confidently identify and name the real C4 Containers inside your system \u2014 the major moving parts that make everything work.<\/p>\n","protected":false},"featured_media":0,"parent":15065,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-15070","docs","type-docs","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What is a &quot;Container&quot;? - Cybermedian Indian<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/\" \/>\n<meta property=\"og:locale\" content=\"hi_IN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is a &quot;Container&quot;? - Cybermedian Indian\" \/>\n<meta property=\"og:description\" content=\"Distinguishing C4 containers from Docker containers One of the most frequent points of confusion when people first encounter the C4\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/\" \/>\n<meta property=\"og:site_name\" content=\"Cybermedian Indian\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-15T03:11:01+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0905\u0928\u0941\u092e\u093e\u0928\u093f\u0924 \u092a\u0922\u093c\u0928\u0947 \u0915\u093e \u0938\u092e\u092f\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 \u092e\u093f\u0928\u091f\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/\",\"url\":\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/\",\"name\":\"What is a \\\"Container\\\"? - Cybermedian Indian\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/in\/#website\"},\"datePublished\":\"2026-01-14T05:45:34+00:00\",\"dateModified\":\"2026-01-15T03:11:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/#breadcrumb\"},\"inLanguage\":\"hi-IN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/in\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering the C4 Model: From Foundations to AI-Powered Software Architecture Visualization\",\"item\":\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Module 3: Level 2 \u2013 Diving into Container Diagrams\",\"item\":\"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"What is a &#8220;Container&#8221;?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/in\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/in\/\",\"name\":\"Cybermedian Indian\",\"description\":\"Learning one new thing everyday\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/in\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hi-IN\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is a \"Container\"? - Cybermedian Indian","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/","og_locale":"hi_IN","og_type":"article","og_title":"What is a \"Container\"? - Cybermedian Indian","og_description":"Distinguishing C4 containers from Docker containers One of the most frequent points of confusion when people first encounter the C4","og_url":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/","og_site_name":"Cybermedian Indian","article_modified_time":"2026-01-15T03:11:01+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u0905\u0928\u0941\u092e\u093e\u0928\u093f\u0924 \u092a\u0922\u093c\u0928\u0947 \u0915\u093e \u0938\u092e\u092f":"3 \u092e\u093f\u0928\u091f"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/","url":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/","name":"What is a \"Container\"? - Cybermedian Indian","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/in\/#website"},"datePublished":"2026-01-14T05:45:34+00:00","dateModified":"2026-01-15T03:11:01+00:00","breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/#breadcrumb"},"inLanguage":"hi-IN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/what-is-a-container\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/in\/"},{"@type":"ListItem","position":2,"name":"Mastering the C4 Model: From Foundations to AI-Powered Software Architecture Visualization","item":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/"},{"@type":"ListItem","position":3,"name":"Module 3: Level 2 \u2013 Diving into Container Diagrams","item":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/"},{"@type":"ListItem","position":4,"name":"What is a &#8220;Container&#8221;?"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/in\/#website","url":"https:\/\/www.cybermedian.com\/in\/","name":"Cybermedian Indian","description":"Learning one new thing everyday","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/in\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hi-IN"}]}},"comment_count":0,"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs\/15070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/comments?post=15070"}],"version-history":[{"count":2,"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs\/15070\/revisions"}],"predecessor-version":[{"id":15114,"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs\/15070\/revisions\/15114"}],"up":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs\/15065"}],"next":[{"title":"Technology Choices","link":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/technology-choices\/","href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs\/15071"}],"prev":[{"title":"Technical Decomposition","link":"https:\/\/www.cybermedian.com\/in\/docs\/mastering-c4-model\/module-3-level-2-diving-into-container-diagrams\/technical-decomposition\/","href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/docs\/15069"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/media?parent=15070"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/in\/wp-json\/wp\/v2\/doc_tag?post=15070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}