{"id":832,"date":"2025-11-30T22:22:27","date_gmt":"2025-11-30T15:22:27","guid":{"rendered":"https:\/\/kazth.com\/log\/?p=832"},"modified":"2025-11-30T22:26:29","modified_gmt":"2025-11-30T15:26:29","slug":"how-does-docker-work-%e0%b8%89%e0%b8%9a%e0%b8%b1%e0%b8%9a%e0%b9%80%e0%b8%82%e0%b9%89%e0%b8%b2%e0%b9%83%e0%b8%88%e0%b8%87%e0%b9%88%e0%b8%b2%e0%b8%a2%e0%b9%83%e0%b8%99-3-%e0%b8%99%e0%b8%b2%e0%b8%97","status":"publish","type":"post","link":"https:\/\/kazth.com\/log\/cloud-infra\/how-does-docker-work-%e0%b8%89%e0%b8%9a%e0%b8%b1%e0%b8%9a%e0%b9%80%e0%b8%82%e0%b9%89%e0%b8%b2%e0%b9%83%e0%b8%88%e0%b8%87%e0%b9%88%e0%b8%b2%e0%b8%a2%e0%b9%83%e0%b8%99-3-%e0%b8%99%e0%b8%b2%e0%b8%97\/","title":{"rendered":"How does Docker Work? \u0e09\u0e1a\u0e31\u0e1a\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e07\u0e48\u0e32\u0e22\u0e43\u0e19 3 \u0e19\u0e32\u0e17\u0e35"},"content":{"rendered":"\n<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e43\u0e04\u0e23\u0e17\u0e35\u0e48\u0e2a\u0e07\u0e2a\u0e31\u0e22\u0e27\u0e48\u0e32 Docker \u0e17\u0e33\u0e07\u0e32\u0e19\u0e22\u0e31\u0e07\u0e44\u0e07? \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e1c\u0e21\u0e2a\u0e23\u0e38\u0e1b Architecture \u0e02\u0e2d\u0e07\u0e21\u0e31\u0e19\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e40\u0e2b\u0e47\u0e19\u0e20\u0e32\u0e1e\u0e07\u0e48\u0e32\u0e22\u0e46 \u0e04\u0e23\u0e31\u0e1a<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Docker Client \ud83d\udcbb (\u0e2a\u0e48\u0e27\u0e19\u0e2a\u0e31\u0e48\u0e07\u0e01\u0e32\u0e23)<\/h2>\n\n\n\n<p>\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19 <strong>&#8220;\u0e23\u0e35\u0e42\u0e21\u0e15\u0e04\u0e2d\u0e19\u0e42\u0e17\u0e23\u0e25&#8221;<\/strong> \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19 \u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e25\u0e07\u0e43\u0e19 Terminal \u0e40\u0e0a\u0e48\u0e19:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code><strong><span style=\"color: #0f0e17;\" class=\"stk-highlight\">docker build<\/span><\/strong><\/code> \u279c \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07 Image<\/li>\n\n\n\n<li><code><strong><span style=\"color: #0f0e17;\" class=\"stk-highlight\">docker pull<\/span><\/strong><\/code> \u279c \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e44\u0e1b\u0e14\u0e36\u0e07 Image \u0e21\u0e32\u0e08\u0e32\u0e01 Registry<\/li>\n\n\n\n<li><code><strong><span style=\"color: #0f0e17;\" class=\"stk-highlight\">docker run<\/span><\/strong><\/code> \u279c \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e25\u0e30\u0e23\u0e31\u0e19 Container \u0e08\u0e32\u0e01 Image<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Docker Host \ud83e\udde0 (\u0e2a\u0e21\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e17\u0e33\u0e07\u0e32\u0e19)<\/h2>\n\n\n\n<p>\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 Server \u0e2b\u0e23\u0e37\u0e2d Computer \u0e17\u0e35\u0e48 Docker \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e2d\u0e22\u0e39\u0e48 \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22 2 \u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e25\u0e31\u0e01:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Docker Daemon (<\/strong><code><span style=\"color: #0f0e17;\" class=\"stk-highlight\"><strong>dockerd<\/strong><\/span><\/code><strong>):<\/strong> \u0e04\u0e37\u0e2d &#8220;\u0e2a\u0e21\u0e2d\u0e07&#8221; \u0e17\u0e35\u0e48\u0e04\u0e2d\u0e22\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e08\u0e32\u0e01 Client \u0e21\u0e32\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25 \u0e41\u0e25\u0e30\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e17\u0e38\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e2b\u0e25\u0e31\u0e07<\/li>\n\n\n\n<li><strong>Images &amp; Containers:<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ud83d\udcc4 <strong>Images:<\/strong> \u0e04\u0e37\u0e2d &#8220;\u0e41\u0e21\u0e48\u0e41\u0e1a\u0e1a&#8221; (Template) \u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e15\u0e49\u0e19\u0e09\u0e1a\u0e31\u0e1a (\u0e40\u0e0a\u0e48\u0e19 Ubuntu, Nginx) \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e44\u0e1f\u0e25\u0e4c Read-only<\/li>\n\n\n\n<li>\ud83d\udce6 <strong>Containers:<\/strong> \u0e04\u0e37\u0e2d Image \u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e1b\u0e25\u0e38\u0e01\u0e43\u0e2b\u0e49 <strong>&#8220;\u0e21\u0e35\u0e0a\u0e35\u0e27\u0e34\u0e15&#8221;<\/strong> \u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e08\u0e23\u0e34\u0e07 \u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19\u0e02\u0e19\u0e32\u0e14\u0e40\u0e25\u0e47\u0e01<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Docker Registry \u2601\ufe0f (\u0e04\u0e25\u0e31\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e02\u0e2d\u0e07)<\/h2>\n\n\n\n<p>\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19 <strong>&#8220;App Store&#8221;<\/strong> \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Docker Images<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Docker Hub \/ GitHub Container Registry:<\/strong> \u0e40\u0e1b\u0e47\u0e19\u0e17\u0e35\u0e48\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e44\u0e1b\u0e14\u0e36\u0e07 <span style=\"color: #0f0e17;\" class=\"stk-highlight\">(<code>pull<\/code><\/span>) Image \u0e21\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e48\u0e07 (<code><span style=\"color: #0f0e17;\" class=\"stk-highlight\">push<\/span><\/code>) Image \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"1024\" src=\"https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-970x1024.jpg\" alt=\"\" class=\"wp-image-833\" srcset=\"https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-970x1024.jpg 970w, https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-284x300.jpg 284w, https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-768x811.jpg 768w, https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-1455x1536.jpg 1455w, https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-500x528.jpg 500w, https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n-600x633.jpg 600w, https:\/\/kazth.com\/log\/wp-content\/uploads\/2025\/11\/589820014_1328686909272652_8820930083874476298_n.jpg 1940w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\uddbc\ufe0f \u0e20\u0e32\u0e1e\u0e23\u0e27\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 (The Big Picture)<\/h3>\n\n\n\n<p>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e42\u0e04\u0e49\u0e14<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #272424;\" class=\"stk-highlight\">graph LR\nUser((User)) -- \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 --&gt; Client&#91;Docker Client]\nClient -- \u0e2a\u0e48\u0e07 API --&gt; Daemon&#91;Docker Daemon]<\/span>\n\n<span style=\"color: #292626;\" class=\"stk-highlight\">subgraph Host &#91;Docker Host]\n    Daemon\n    Images&#91;Images]\n    Containers&#91;Running Containers]\nend\n\nsubgraph Registry &#91;Docker Registry]\n    Hub&#91;Docker Hub \/ Cloud Registry]\nend\n\nDaemon -- Pull\/Push --&gt; Hub\nDaemon -- \u0e2a\u0e23\u0e49\u0e32\u0e07 --&gt; Containers\nImages -- \u0e15\u0e49\u0e19\u0e41\u0e1a\u0e1a --&gt; Containers<\/span><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83c\udfaf \u0e2a\u0e23\u0e38\u0e1b\u0e2a\u0e31\u0e49\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Docker<\/strong> \u0e04\u0e37\u0e2d\u0e23\u0e30\u0e1a\u0e1a\u0e17\u0e35\u0e48\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e25\u0e30\u0e23\u0e31\u0e19\u0e41\u0e2d\u0e1b\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a <strong>&#8220;Container&#8221;<\/strong> \u0e44\u0e14\u0e49\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e02\u0e36\u0e49\u0e19 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49 <strong>Client<\/strong> \u0e2a\u0e48\u0e07\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e44\u0e1b\u0e43\u0e2b\u0e49 <strong>Daemon<\/strong> \u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e20\u0e32\u0e1e\u0e23\u0e27\u0e21 \u0e41\u0e25\u0e30\u0e14\u0e36\u0e07 <strong>Images<\/strong> \u0e08\u0e32\u0e01 <strong>Registry<\/strong> \u0e21\u0e32\u0e23\u0e31\u0e19\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07<\/p>\n<\/blockquote>\n\n\n\n<p><strong>\ud83d\udca1 Engineer&#8217;s Note:<\/strong> \u0e43\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07\u0e1a\u0e19 Cloud (\u0e40\u0e0a\u0e48\u0e19 Azure) \u0e40\u0e23\u0e32\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49 Docker Host \u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e46 \u0e41\u0e15\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e1c\u0e48\u0e32\u0e19 <strong>Container Orchestration<\/strong> \u0e2d\u0e22\u0e48\u0e32\u0e07 <strong>Kubernetes (K8s)<\/strong> \u0e2b\u0e23\u0e37\u0e2d <strong>Azure Container Apps<\/strong> \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e2b\u0e25\u0e31\u0e07\u0e01\u0e47\u0e43\u0e0a\u0e49\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23 Container Runtime \u0e41\u0e1a\u0e1a\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19\u0e19\u0e35\u0e49\u0e41\u0e2b\u0e25\u0e30\u0e04\u0e23\u0e31\u0e1a!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e43\u0e04\u0e23\u0e17\u0e35\u0e48\u0e2a\u0e07\u0e2a\u0e31\u0e22\u0e27\u0e48\u0e32 Docker \u0e17\u0e33\u0e07\u0e32\u0e19\u0e22\u0e31\u0e07\u0e44\u0e07? \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e1c\u0e21\u0e2a\u0e23\u0e38\u0e1b Architecture \u0e02\u0e2d\u0e07\u0e21\u0e31\u0e19\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e40\u0e2b\u0e47\u0e19\u0e20\u0e32\u0e1e\u0e07\u0e48\u0e32\u0e22\u0e46 \u0e04\u0e23\u0e31\u0e1a 1. Docker Client \ud83d\udcbb (\u0e2a\u0e48\u0e27\u0e19\u0e2a\u0e31\u0e48\u0e07\u0e01\u0e32\u0e23) \u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19 &#8220;\u0e23\u0e35\u0e42\u0e21\u0e15\u0e04\u0e2d\u0e19\u0e42\u0e17\u0e23\u0e25&#8221; \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19 \u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e25\u0e07\u0e43\u0e19 Terminal \u0e40\u0e0a\u0e48\u0e19: 2. Docker Host \ud83e\udde0 (\u0e2a\u0e21\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e17\u0e33\u0e07\u0e32\u0e19) \u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 Server \u0e2b\u0e23\u0e37\u0e2d Computer \u0e17\u0e35\u0e48 Docker \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e2d\u0e22\u0e39\u0e48 \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22 2 \u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e25\u0e31\u0e01: 3. Docker Registry \u2601\ufe0f (\u0e04\u0e25\u0e31\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e02\u0e2d\u0e07) \u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19 &#8220;App Store&#8221; \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Docker Images \ud83d\uddbc\ufe0f \u0e20\u0e32\u0e1e\u0e23\u0e27\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 (The Big Picture) \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e42\u0e04\u0e49\u0e14 \ud83c\udfaf \u0e2a\u0e23\u0e38\u0e1b\u0e2a\u0e31\u0e49\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14 Docker \u0e04\u0e37\u0e2d\u0e23\u0e30\u0e1a\u0e1a\u0e17\u0e35\u0e48\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e25\u0e30\u0e23\u0e31\u0e19\u0e41\u0e2d\u0e1b\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":834,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-832","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-infra"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/posts\/832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/comments?post=832"}],"version-history":[{"count":4,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/posts\/832\/revisions"}],"predecessor-version":[{"id":838,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/posts\/832\/revisions\/838"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/media\/834"}],"wp:attachment":[{"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/media?parent=832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/categories?post=832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kazth.com\/log\/wp-json\/wp\/v2\/tags?post=832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}