{"id":112,"date":"2026-07-17T18:55:43","date_gmt":"2026-07-17T15:25:43","guid":{"rendered":"https:\/\/tarahanenovin.ir\/blog\/?p=112"},"modified":"2026-07-17T18:55:43","modified_gmt":"2026-07-17T15:25:43","slug":"%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8","status":"publish","type":"post","link":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631"},"content":{"rendered":"<p dir=\"rtl\" lang=\"fa\">\u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631 \u06cc\u06a9\u06cc \u0627\u0632 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0646\u0642\u0627\u0637 \u0634\u0631\u0648\u0639 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u0646\u062f \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f\u060c \u0642\u0627\u0628\u0644 \u0627\u0646\u062a\u0642\u0627\u0644 \u0648 \u0645\u0633\u062a\u0642\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u0646\u062f. Docker \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0622\u0646 \u0631\u0627 \u062f\u0627\u062e\u0644 \u06cc\u06a9 \u0628\u0633\u062a\u0647 \u0645\u0634\u062e\u0635 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0647\u0645\u0627\u0646 \u0628\u0633\u062a\u0647 \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0634\u062e\u0635\u06cc\u060c \u0633\u0631\u0648\u0631 \u06cc\u0627 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0627\u0628\u0631\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0627\u0635\u0644\u06cc Docker \u0622\u0634\u0646\u0627 \u0645\u06cc \u0634\u0648\u06cc\u0645 \u0648 \u0633\u067e\u0633 \u0646\u0635\u0628 \u062f\u0627\u06a9\u0631\u060c \u0633\u0627\u062e\u062a Image\u060c \u0627\u062c\u0631\u0627\u06cc Container\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647 \u0647\u0627 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u062d\u0644\u0647 \u0628\u0647 \u0645\u0631\u062d\u0644\u0647 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u062f\u0627\u06a9\u0631 \u0686\u06cc\u0633\u062a\u061f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0627\u06a9\u0631 \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u0645\u062a\u0646 \u0628\u0627\u0632 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a\u060c \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc\u060c \u062a\u0648\u0632\u06cc\u0639 \u0648 \u0627\u062c\u0631\u0627\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc\u06cc \u0628\u0647 \u0646\u0627\u0645 Container \u0627\u0633\u062a. \u0647\u0631 Container \u0634\u0627\u0645\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0622\u0646 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u062f\u0648\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u062d\u062a \u0648\u0628 \u0628\u0627 Python\u060c Node.js \u06cc\u0627 PHP \u062a\u0648\u0633\u0639\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc\u062f. \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0647 \u0646\u0633\u062e\u0647 \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\u060c \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0648\u0628 \u0633\u0631\u0648\u0631 \u0648 \u0686\u0646\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0628\u0627 Docker \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0631\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 \u06cc\u06a9 Image \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645 \u0648 \u0633\u0631\u0648\u0631 \u0627\u0635\u0644\u06cc \u062f\u0642\u06cc\u0642\u0627 \u0627\u0632 \u0647\u0645\u0627\u0646 \u0645\u062d\u06cc\u0637 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647 \u062a\u0639\u0627\u0631\u06cc\u0641 \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u0647\u0627\u06cc \u0631\u0633\u0645\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 <a href=\"https:\/\/docs.docker.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a Docker<\/a> \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0686\u0631\u0627 \u0628\u0627\u06cc\u062f Docker \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u0645\u061f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0645\u0634\u06a9\u0644 \u0645\u0639\u0631\u0648\u0641 \u00ab\u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0645\u0646 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u00bb \u0645\u0639\u0645\u0648\u0644\u0627 \u0632\u0645\u0627\u0646\u06cc \u0628\u0647 \u0648\u062c\u0648\u062f \u0645\u06cc \u0622\u06cc\u062f \u06a9\u0647 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0628\u0627 \u0645\u062d\u06cc\u0637 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06cc\u0627 \u0633\u0631\u0648\u0631 \u0627\u0635\u0644\u06cc \u062a\u0641\u0627\u0648\u062a \u062f\u0627\u0631\u062f. \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0646\u0633\u062e\u0647 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u060c \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u06cc\u0627 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06cc\u06a9\u0633\u0627\u0646 \u0646\u0628\u0627\u0634\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0627\u06a9\u0631 \u0627\u06cc\u0646 \u062a\u0641\u0627\u0648\u062a \u0647\u0627 \u0631\u0627 \u062a\u0627 \u062d\u062f \u0632\u06cc\u0627\u062f\u06cc \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f. \u0645\u0647\u0645 \u062a\u0631\u06cc\u0646 \u0645\u0632\u0627\u06cc\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li>\u0627\u06cc\u062c\u0627\u062f \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645<\/li>\n<li>\u0627\u0646\u062a\u0642\u0627\u0644 \u0622\u0633\u0627\u0646 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0645\u06cc\u0627\u0646 \u0633\u06cc\u0633\u062a\u0645 \u0634\u062e\u0635\u06cc\u060c \u0633\u0631\u0648\u0631 \u0648 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc<\/li>\n<li>\u06a9\u0627\u0647\u0634 \u0645\u0634\u06a9\u0644\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u0633\u062e\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627<\/li>\n<li>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u06cc\u0639 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0648 \u0622\u0632\u0645\u0627\u06cc\u0634<\/li>\n<li>\u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0632 \u06cc\u06a9\u062f\u06cc\u06af\u0631<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0647\u062a\u0631 \u0627\u0632 \u0645\u0646\u0627\u0628\u0639 \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc<\/li>\n<li>\u0633\u0627\u062f\u0647 \u062a\u0631 \u0634\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631<\/li>\n<li>\u0627\u0645\u06a9\u0627\u0646 \u0628\u0627\u0632\u06af\u0634\u062a \u0633\u0631\u06cc\u0639 \u0628\u0647 \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647<\/li>\n<\/ul>\n<p dir=\"rtl\" lang=\"fa\">\u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u062f\u0627\u06a9\u0631 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648\u0628\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u0627\u0646 \u0628\u06a9 \u0627\u0646\u062f\u060c \u06a9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 DevOps\u060c \u0645\u062f\u06cc\u0631\u0627\u0646 \u0633\u0631\u0648\u0631 \u0648 \u062a\u06cc\u0645 \u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u062a\u0641\u0627\u0648\u062a Docker \u0648 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0686\u06cc\u0633\u062a\u061f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u06cc\u0627 Virtual Machine \u0645\u0639\u0645\u0648\u0644\u0627 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f. \u0647\u0631 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0628\u0647 \u062d\u0627\u0641\u0638\u0647\u060c \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 \u0648 \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0622\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0632\u0645\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0628\u0628\u0631\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">Container \u0628\u0631\u062e\u0644\u0627\u0641 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc\u060c \u0645\u0639\u0645\u0648\u0644\u0627 \u0627\u0632 \u0647\u0633\u062a\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0633\u0628\u06a9 \u062a\u0631 \u0627\u0633\u062a\u060c \u0633\u0631\u06cc\u0639 \u062a\u0631 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0645\u0646\u0627\u0628\u0639 \u06a9\u0645\u062a\u0631\u06cc \u0645\u0635\u0631\u0641 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u062a\u0641\u0627\u0648\u062a \u0647\u0627\u06cc \u0645\u0647\u0645 \u0627\u06cc\u0646 \u062f\u0648 \u0641\u0646\u0627\u0648\u0631\u06cc \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u062e\u0644\u0627\u0635\u0647 \u06a9\u0631\u062f:<\/p>\n<div class=\"table-container\">\n<table>\n<thead>\n<tr>\n<th>\u0648\u06cc\u0698\u06af\u06cc<\/th>\n<th>Docker Container<\/th>\n<th>\u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td dir=\"rtl\" lang=\"fa\">\u0632\u0645\u0627\u0646 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0645\u0639\u0645\u0648\u0644\u0627 \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u06cc\u0634\u062a\u0631<\/td>\n<\/tr>\n<tr>\n<td dir=\"rtl\" lang=\"fa\">\u0645\u0635\u0631\u0641 \u0645\u0646\u0627\u0628\u0639<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u06a9\u0645\u062a\u0631<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0628\u06cc\u0634\u062a\u0631<\/td>\n<\/tr>\n<tr>\n<td dir=\"rtl\" lang=\"fa\">\u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06a9\u0627\u0645\u0644<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0646\u062f\u0627\u0631\u062f<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u062f\u0627\u0631\u062f<\/td>\n<\/tr>\n<tr>\n<td dir=\"rtl\" lang=\"fa\">\u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0646\u062a\u0642\u0627\u0644<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0628\u0633\u06cc\u0627\u0631 \u0645\u0646\u0627\u0633\u0628<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0645\u0646\u0627\u0633\u0628<\/td>\n<\/tr>\n<tr>\n<td dir=\"rtl\" lang=\"fa\">\u062c\u062f\u0627\u0633\u0627\u0632\u06cc<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0633\u0637\u062d \u0641\u0631\u0622\u06cc\u0646\u062f<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644<\/td>\n<\/tr>\n<tr>\n<td dir=\"rtl\" lang=\"fa\">\u06a9\u0627\u0631\u0628\u0631\u062f \u0631\u0627\u06cc\u062c<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u062a\u0648\u0633\u0639\u0647\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0633\u0631\u0648\u06cc\u0633<\/td>\n<td dir=\"rtl\" lang=\"fa\">\u0627\u062c\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u0633\u062a\u0642\u0644<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0627\u06a9\u0631 \u0647\u0645\u06cc\u0634\u0647 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a. \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u062f\u0648 \u0628\u0647 \u0633\u0637\u062d \u062c\u062f\u0627\u0633\u0627\u0632\u06cc\u060c \u0627\u0645\u0646\u06cc\u062a\u060c \u0646\u0648\u0639 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0648 \u0645\u0639\u0645\u0627\u0631\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0645\u0641\u0627\u0647\u06cc\u0645 \u0627\u0635\u0644\u06cc \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a Docker \u0628\u0627\u06cc\u062f \u0628\u0627 \u0686\u0646\u062f \u0645\u0641\u0647\u0648\u0645 \u067e\u0627\u06cc\u0647 \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">Docker Image \u0686\u06cc\u0633\u062a\u061f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Image \u06cc\u06a9 \u0627\u0644\u06af\u0648\u06cc \u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u062f\u0633\u062a\u0648\u0631 \u0627\u062c\u0631\u0627\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Image \u0631\u0627 \u0645\u0627\u0646\u0646\u062f \u0646\u0642\u0634\u0647 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627\u06cc\u06cc \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c Image \u0631\u0633\u0645\u06cc Nginx \u0634\u0627\u0645\u0644 \u0641\u0627\u06cc\u0644 \u0647\u0627 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u0627\u0633\u062a.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">Docker Container \u0686\u06cc\u0633\u062a\u061f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Container \u0646\u0645\u0648\u0646\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u06cc\u0627 \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647 \u06cc\u06a9 Image \u0627\u0633\u062a. \u0627\u0632 \u06cc\u06a9 Image \u0645\u06cc \u062a\u0648\u0627\u0646 \u0686\u0646\u062f Container \u0645\u0633\u062a\u0642\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0627\u0645\u06a9\u0627\u0646 \u062f\u0627\u0631\u062f \u0633\u0647 Container \u0627\u0632 Image \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0647\u0631 \u06a9\u062f\u0627\u0645 \u0631\u0627 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a \u0645\u062a\u0641\u0627\u0648\u062a\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">Dockerfile \u0686\u06cc\u0633\u062a\u061f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Dockerfile \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc \u0634\u0627\u0645\u0644 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 Docker \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a Image \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Image \u067e\u0627\u06cc\u0647\u060c \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0631\u06cc\u060c \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0648 \u0641\u0631\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">Docker Registry \u0686\u06cc\u0633\u062a\u061f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Registry \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0648 \u062a\u0648\u0632\u06cc\u0639 Image\u0647\u0627 \u0627\u0633\u062a. Docker Hub \u06cc\u06a9\u06cc \u0627\u0632 \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062a\u0631\u06cc\u0646 Registry\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc \u0645\u062d\u0633\u0648\u0628 \u0645\u06cc \u0634\u0648\u062f. \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627 \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f Registry \u062e\u0635\u0648\u0635\u06cc \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">Docker Volume \u0686\u06cc\u0633\u062a\u061f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0627\u062e\u0644 \u0644\u0627\u06cc\u0647 \u0642\u0627\u0628\u0644 \u0646\u0648\u0634\u062a\u0646 Container \u0628\u0627 \u062d\u0630\u0641 Container \u0627\u0632 \u062f\u0633\u062a\u0631\u0633 \u062e\u0627\u0631\u062c \u0645\u06cc \u0634\u0648\u0646\u062f. Volume \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0686\u0631\u062e\u0647 \u0639\u0645\u0631 \u0622\u0646 \u0627\u0632 Container \u0645\u0633\u062a\u0642\u0644 \u0627\u0633\u062a.<\/p>\n<p dir=\"rtl\" lang=\"fa\">Volume \u0628\u0647 \u0648\u06cc\u0698\u0647 \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u0646\u0628\u0627\u06cc\u062f \u0628\u0627 \u062d\u0630\u0641 Container \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u0648\u0646\u062f \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u0631\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">Docker Network \u0686\u06cc\u0633\u062a\u061f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Network \u0627\u0645\u06a9\u0627\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 \u0645\u06cc\u0627\u0646 Container\u0647\u0627 \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 Container \u0628\u0627 \u0634\u0628\u06a9\u0647 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0686\u0646\u062f \u0633\u0631\u0648\u06cc\u0633\u0647\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0622\u0645\u0648\u0632\u0634 \u0646\u0635\u0628 Docker<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0631\u0648\u0634 \u0646\u0635\u0628 Docker \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0634\u0645\u0627 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0635\u0628 Docker \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0645\u0639\u0645\u0648\u0644\u0627 Docker Desktop \u0646\u0635\u0628 \u0645\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0648\u06cc\u0646\u062f\u0648\u0632\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 WSL 2 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062a\u062c\u0631\u0628\u0647 \u0645\u0646\u0627\u0633\u0628 \u062a\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc Container\u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u06cc \u0641\u0631\u0627\u0647\u0645 \u06a9\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0645\u0631\u0627\u062d\u0644 \u06a9\u0644\u06cc \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632:<\/p>\n<ol dir=\"rtl\" lang=\"fa\">\n<li>\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0645\u062c\u0627\u0632\u06cc \u0633\u0627\u0632\u06cc \u062f\u0631 BIOS \u06cc\u0627 UEFI<\/li>\n<li>\u0646\u0635\u0628 \u0648 \u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc WSL 2 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632<\/li>\n<li>\u062f\u0631\u06cc\u0627\u0641\u062a Docker Desktop \u0627\u0632 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0631\u0633\u0645\u06cc<\/li>\n<li>\u0646\u0635\u0628 \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647<\/li>\n<li>\u0628\u0631\u0631\u0633\u06cc \u0641\u0639\u0627\u0644 \u0628\u0648\u062f\u0646 Docker Engine<\/li>\n<\/ol>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0635\u0628 Docker \u062f\u0631 macOS<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 macOS \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f Docker Desktop \u0631\u0627 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 Intel \u06cc\u0627 Apple Silicon \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0646\u0635\u0628 \u06a9\u0646\u0646\u062f. \u067e\u0633 \u0627\u0632 \u0646\u0635\u0628\u060c Docker Engine \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u062d\u06cc\u0637 Docker Desktop \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0635\u0628 Docker \u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u062a\u0648\u0632\u06cc\u0639 \u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646 Docker Engine \u0631\u0627 \u0627\u0632 \u0645\u062e\u0632\u0646 \u0631\u0633\u0645\u06cc Docker \u0646\u0635\u0628 \u06a9\u0631\u062f. \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc \u0646\u0635\u0628 \u0628\u0631\u0627\u0633\u0627\u0633 \u062a\u0648\u0632\u06cc\u0639 \u0648 \u0646\u0633\u062e\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u062a\u0641\u0627\u0648\u062a \u0647\u0633\u062a\u0646\u062f. \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0628\u0647 \u062c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0628\u0633\u062a\u0647 \u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc\u060c \u0645\u0631\u0627\u062d\u0644 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 <a href=\"https:\/\/docs.docker.com\/engine\/install\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0631\u0633\u0645\u06cc \u0646\u0635\u0628 Docker Engine<\/a> \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0639\u062f \u0627\u0632 \u0646\u0635\u0628\u060c \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0646\u0633\u062e\u0647 Docker \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker --version\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0633\u067e\u0633 \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0639\u0645\u0644\u06a9\u0631\u062f Docker \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker run hello-world\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">Docker \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u0628\u0648\u062f\u0646 Image \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u06cc\u06a9 Container \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0645\u06cc \u0633\u0627\u0632\u062f. \u0646\u0645\u0627\u06cc\u0634 \u067e\u06cc\u0627\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0646\u0635\u0628 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0627\u0648\u0644\u06cc\u0646 Container \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker run -d --name my-nginx -p 8080:80 nginx\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u062c\u0632\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li><code>docker run<\/code>: \u0633\u0627\u062e\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc Container \u062c\u062f\u06cc\u062f<\/li>\n<li><code>-d<\/code>: \u0627\u062c\u0631\u0627\u06cc Container \u062f\u0631 \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647<\/li>\n<li><code>--name my-nginx<\/code>: \u062a\u0639\u06cc\u06cc\u0646 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc Container<\/li>\n<li><code>-p 8080:80<\/code>: \u0627\u062a\u0635\u0627\u0644 \u067e\u0648\u0631\u062a 8080 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0628\u0647 \u067e\u0648\u0631\u062a 80 Container<\/li>\n<li><code>nginx<\/code>: \u0646\u0627\u0645 Image \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647<\/li>\n<\/ul>\n<p dir=\"rtl\" lang=\"fa\">\u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u060c \u0622\u062f\u0631\u0633 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">http:\/\/localhost:8080\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06af\u0631 \u0635\u0641\u062d\u0647 \u067e\u06cc\u0634 \u0641\u0631\u0636 Nginx \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0648\u0644\u06cc\u0646 Container \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u0647\u0645 Docker \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u062a\u0639\u062f\u0627\u062f\u06cc \u0627\u0632 \u067e\u0631\u06a9\u0627\u0631\u0628\u0631\u062f\u062a\u0631\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a Docker \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0645\u0627\u06cc\u0634 Container\u0647\u0627\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627<\/h3>\n<pre><code class=\"hljs\">docker ps\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062a\u0645\u0627\u0645 Container\u0647\u0627\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0645\u0648\u0627\u0631\u062f \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647\u060c \u0627\u0632 \u06af\u0632\u06cc\u0646\u0647 <code>-a<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker ps -a\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0645\u0627\u06cc\u0634 Image\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f<\/h3>\n<pre><code class=\"hljs\">docker images\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0646 Container<\/h3>\n<pre><code class=\"hljs\">docker stop my-nginx\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u0627\u062c\u0631\u0627\u06cc \u0645\u062c\u062f\u062f Container<\/h3>\n<pre><code class=\"hljs\">docker start my-nginx\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u062d\u0630\u0641 Container<\/h3>\n<pre><code class=\"hljs\">docker <span class=\"hljs-built_in\">rm<\/span> my-nginx\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">Container \u0628\u0627\u06cc\u062f \u067e\u06cc\u0634 \u0627\u0632 \u062d\u0630\u0641 \u0645\u062a\u0648\u0642\u0641 \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u062a\u0648\u0642\u0641 \u0648 \u062d\u0630\u0641 \u0627\u062c\u0628\u0627\u0631\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f:<\/p>\n<pre><code class=\"hljs\">docker <span class=\"hljs-built_in\">rm<\/span> -f my-nginx\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u062d\u0630\u0641 Image<\/h3>\n<pre><code class=\"hljs\">docker rmi nginx\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u0645\u0634\u0627\u0647\u062f\u0647 \u06af\u0632\u0627\u0631\u0634 \u0627\u062c\u0631\u0627\u06cc Container<\/h3>\n<pre><code class=\"hljs\">docker logs my-nginx\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u062f\u0646\u0628\u0627\u0644 \u06a9\u0631\u062f\u0646 \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u0646\u062f\u0647 \u0627\u0632 \u06af\u0632\u06cc\u0646\u0647 <code>-f<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker logs -f my-nginx\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u062f\u0627\u062e\u0644 Container<\/h3>\n<pre><code class=\"hljs\">docker <span class=\"hljs-built_in\">exec<\/span> -it my-nginx sh\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u06cc\u06a9 \u067e\u0648\u0633\u062a\u0647 \u062a\u0639\u0627\u0645\u0644\u06cc \u062f\u0627\u062e\u0644 Container \u0628\u0627\u0632 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u0644\u0628\u062a\u0647 \u0646\u0648\u0639 \u067e\u0648\u0633\u062a\u0647 \u0645\u0648\u062c\u0648\u062f \u0628\u0647 Image \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a Dockerfile<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u062f\u0631\u06a9 \u0628\u0647\u062a\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a Image\u060c \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 Node.js \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/p>\n<pre><code class=\"hljs\">docker-demo\/\r\n\u251c\u2500\u2500 Dockerfile\r\n\u251c\u2500\u2500 package.json\r\n\u2514\u2500\u2500 server.js\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644 <code>server.js<\/code>:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-keyword\">const<\/span> http = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">\"http\"<\/span>);\r\n\r\n<span class=\"hljs-keyword\">const<\/span> server = http.<span class=\"hljs-title function_\">createServer<\/span>(<span class=\"hljs-function\">(<span class=\"hljs-params\">request, response<\/span>) =&gt;<\/span> {\r\n  response.<span class=\"hljs-title function_\">writeHead<\/span>(<span class=\"hljs-number\">200<\/span>, { <span class=\"hljs-string\">\"Content-Type\"<\/span>: <span class=\"hljs-string\">\"text\/plain; charset=utf-8\"<\/span> });\r\n  response.<span class=\"hljs-title function_\">end<\/span>(<span class=\"hljs-string\">\"Hello from Docker\"<\/span>);\r\n});\r\n\r\nserver.<span class=\"hljs-title function_\">listen<\/span>(<span class=\"hljs-number\">3000<\/span>, <span class=\"hljs-string\">\"0.0.0.0\"<\/span>, <span class=\"hljs-function\">() =&gt;<\/span> {\r\n  <span class=\"hljs-variable language_\">console<\/span>.<span class=\"hljs-title function_\">log<\/span>(<span class=\"hljs-string\">\"Server is running on port 3000\"<\/span>);\r\n});\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644 <code>package.json<\/code>:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-punctuation\">{<\/span>\r\n  <span class=\"hljs-attr\">\"name\"<\/span><span class=\"hljs-punctuation\">:<\/span> <span class=\"hljs-string\">\"docker-demo\"<\/span><span class=\"hljs-punctuation\">,<\/span>\r\n  <span class=\"hljs-attr\">\"version\"<\/span><span class=\"hljs-punctuation\">:<\/span> <span class=\"hljs-string\">\"1.0.0\"<\/span><span class=\"hljs-punctuation\">,<\/span>\r\n  <span class=\"hljs-attr\">\"scripts\"<\/span><span class=\"hljs-punctuation\">:<\/span> <span class=\"hljs-punctuation\">{<\/span>\r\n    <span class=\"hljs-attr\">\"start\"<\/span><span class=\"hljs-punctuation\">:<\/span> <span class=\"hljs-string\">\"node server.js\"<\/span>\r\n  <span class=\"hljs-punctuation\">}<\/span>\r\n<span class=\"hljs-punctuation\">}<\/span>\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06a9\u0646\u0648\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u062f\u0648\u0646 \u067e\u0633\u0648\u0646\u062f \u0628\u0627 \u0646\u0627\u0645 <code>Dockerfile<\/code> \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-keyword\">FROM<\/span> node:<span class=\"hljs-number\">22<\/span>-alpine\r\n\r\n<span class=\"hljs-keyword\">WORKDIR<\/span><span class=\"language-bash\"> \/app<\/span>\r\n\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"language-bash\"> package*.json .\/<\/span>\r\n\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"language-bash\"> . .<\/span>\r\n\r\n<span class=\"hljs-keyword\">EXPOSE<\/span> <span class=\"hljs-number\">3000<\/span>\r\n\r\n<span class=\"hljs-keyword\">CMD<\/span><span class=\"language-bash\"> [<span class=\"hljs-string\">\"npm\"<\/span>, <span class=\"hljs-string\">\"start\"<\/span>]<\/span>\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0647\u0631 \u062f\u0633\u062a\u0648\u0631 \u0648\u0638\u06cc\u0641\u0647 \u0645\u0634\u062e\u0635\u06cc \u062f\u0627\u0631\u062f:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li><code>FROM<\/code>: \u062a\u0639\u06cc\u06cc\u0646 Image \u067e\u0627\u06cc\u0647<\/li>\n<li><code>WORKDIR<\/code>: \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0631\u06cc \u062f\u0627\u062e\u0644 Image<\/li>\n<li><code>COPY<\/code>: \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u0647\u0627 \u0628\u0647 Image<\/li>\n<li><code>EXPOSE<\/code>: \u0645\u0633\u062a\u0646\u062f \u06a9\u0631\u062f\u0646 \u067e\u0648\u0631\u062a \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647<\/li>\n<li><code>CMD<\/code>: \u062a\u0639\u06cc\u06cc\u0646 \u0641\u0631\u0645\u0627\u0646 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc Container<\/li>\n<\/ul>\n<h2 dir=\"rtl\" lang=\"fa\">\u0633\u0627\u062e\u062a Image \u0627\u062e\u062a\u0635\u0627\u0635\u06cc<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0645\u0633\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker build -t docker-demo:1.0 .\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u06af\u0632\u06cc\u0646\u0647 <code>-t<\/code> \u0646\u0627\u0645 \u0648 \u0628\u0631\u0686\u0633\u0628 Image \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f. \u0646\u0642\u0637\u0647 \u0627\u0646\u062a\u0647\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0646\u06cc\u0632 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 Docker \u0628\u0627\u06cc\u062f \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0632 \u0645\u0633\u06cc\u0631 \u0641\u0639\u0644\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0639\u062f \u0627\u0632 \u067e\u0627\u06cc\u0627\u0646 \u0633\u0627\u062e\u062a\u060c Image \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker run -d --name docker-demo-app -p 3000:3000 docker-demo:1.0\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0632 \u0622\u062f\u0631\u0633 \u0632\u06cc\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a:<\/p>\n<pre><code class=\"hljs\">http:\/\/localhost:3000\r\n<\/code><\/pre>\n<h2 dir=\"rtl\" lang=\"fa\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 .dockerignore<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a Image \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0647 Docker \u0627\u0631\u0633\u0627\u0644 \u0634\u0648\u0646\u062f. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u067e\u0648\u0634\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a Git\u060c \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0642\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u0631\u0627 \u06a9\u0646\u062f \u06a9\u0646\u0646\u062f \u06cc\u0627 \u062d\u062c\u0645 Image \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 Node.js \u06cc\u06a9 \u0641\u0627\u06cc\u0644 <code>.dockerignore<\/code> \u0628\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">node_modules\r\nnpm-debug.log\r\n.git\r\n.gitignore\r\n.env\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062d\u0633\u0627\u0633 \u0645\u0627\u0646\u0646\u062f <code>.env<\/code> \u0646\u0628\u0627\u06cc\u062f \u0628\u062f\u0648\u0646 \u062f\u0644\u06cc\u0644 \u062f\u0627\u062e\u0644 Image \u06a9\u067e\u06cc \u0634\u0648\u0646\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u0631\u0645\u0627\u0646\u0647 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0631\u0648\u0634 \u0647\u0627\u06cc \u0627\u0645\u0646 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0648 Secret\u0647\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0627 Docker Volume<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06af\u0631 \u06cc\u06a9 Container \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f\u060c \u0646\u0628\u0627\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0635\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u06cc\u0632 \u062d\u0630\u0641 \u0634\u0648\u0646\u062f. Volume \u0631\u0627\u0647\u06a9\u0627\u0631 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc Docker \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0633\u062a.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a Volume \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker volume create app-data\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0641\u0647\u0631\u0633\u062a Volume\u0647\u0627 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker volume <span class=\"hljs-built_in\">ls<\/span>\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0633\u067e\u0633 Volume \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc Container \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker run -d \\\r\n  --name my-nginx \\\r\n  -p 8080:80 \\\r\n  -v app-data:\/usr\/share\/nginx\/html \\\r\n  nginx\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0645\u0644 Volume \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker volume inspect app-data\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631\u0628\u0627\u0631\u0647 \u0631\u0648\u0634 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u062f\u0631 <a href=\"https:\/\/docs.docker.com\/engine\/storage\/volumes\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc Docker Volume<\/a> \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u062a\u0641\u0627\u0648\u062a Volume \u0648 Bind Mount<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 Bind Mount \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0645\u0634\u062e\u0635 \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627 \u0628\u0647 Container \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a\u061b \u0632\u06cc\u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u062f\u0627\u062e\u0644 Container \u062f\u06cc\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0646\u0645\u0648\u0646\u0647 \u0627\u062a\u0635\u0627\u0644 \u067e\u0648\u0634\u0647 \u0641\u0639\u0644\u06cc \u0628\u0647 Nginx:<\/p>\n<pre><code class=\"hljs\">docker run -d \\\r\n  --name local-web \\\r\n  -p 8080:80 \\\r\n  -v <span class=\"hljs-string\">\"<span class=\"hljs-subst\">$(pwd)<\/span>\"<\/span>:\/usr\/share\/nginx\/html:ro \\\r\n  nginx\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644\u060c \u06af\u0632\u06cc\u0646\u0647 <code>ro<\/code> \u062f\u0633\u062a\u0631\u0633\u06cc Container \u0631\u0627 \u0628\u0647 \u062d\u0627\u0644\u062a \u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646\u06cc \u0645\u062d\u062f\u0648\u062f \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0647 \u0637\u0648\u0631 \u06a9\u0644\u06cc:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li>Volume \u062a\u0648\u0633\u0637 Docker \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u0634\u0648\u062f \u0648 \u0628\u0631\u0627\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0646\u0627\u0633\u0628\u06cc \u0627\u0633\u062a.<\/li>\n<li>Bind Mount \u0628\u0647 \u0645\u0633\u06cc\u0631 \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0648\u0627\u0628\u0633\u062a\u0647 \u0627\u0633\u062a \u0648 \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f \u062f\u0627\u0631\u062f.<\/li>\n<\/ul>\n<h2 dir=\"rtl\" lang=\"fa\">\u0634\u0628\u06a9\u0647 \u062f\u0631 Docker \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u061f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker network create app-network\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0633\u067e\u0633 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Container\u0647\u0627 \u0631\u0627 \u0631\u0648\u06cc \u0647\u0645\u0627\u0646 \u0634\u0628\u06a9\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker run -d \\\r\n  --name database \\\r\n  --network app-network \\\r\n  -e POSTGRES_PASSWORD=change-this-password \\\r\n  postgres\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">Container \u062f\u06cc\u06af\u0631\u06cc \u06a9\u0647 \u0639\u0636\u0648 <code>app-network<\/code> \u0628\u0627\u0634\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0627\u0645 <code>database<\/code> \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u062f\u0631\u0633 IP \u062b\u0627\u0628\u062a \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u062f\u0627\u062e\u0644\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0646\u0628\u0627\u06cc\u062f \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627 \u062f\u0631 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u0641\u0627\u06cc\u0644 Dockerfile \u06cc\u0627 \u0645\u062e\u0632\u0646 Git \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">Docker Compose \u0686\u06cc\u0633\u062a\u061f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627 \u0641\u0642\u0637 \u0627\u0632 \u06cc\u06a9 Container \u062a\u0634\u06a9\u06cc\u0644 \u0646\u0645\u06cc \u0634\u0648\u0646\u062f. \u06cc\u06a9 \u0633\u0627\u0645\u0627\u0646\u0647 \u062a\u062d\u062a \u0648\u0628 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0634\u0627\u0645\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0635\u0644\u06cc\u060c \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c Redis\u060c \u0648\u0628 \u0633\u0631\u0648\u0631 \u0648 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062c\u0627\u0646\u0628\u06cc \u0628\u0627\u0634\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">Docker Compose \u0627\u0645\u06a9\u0627\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0686\u0646\u062f \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 YAML \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u062c\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0686\u0646\u062f \u062f\u0633\u062a\u0648\u0631 \u0637\u0648\u0644\u0627\u0646\u06cc\u060c \u062a\u0645\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u060c \u0634\u0628\u06a9\u0647 \u0647\u0627 \u0648 Volume\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 <code>compose.yaml<\/code> \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062a\u06a9\u0645\u06cc\u0644\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f <a href=\"https:\/\/docs.docker.com\/compose\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a Docker Compose<\/a> \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0622\u0645\u0648\u0632\u0634 Docker Compose \u0628\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0645\u062b\u0627\u0644 \u0632\u06cc\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Node.js \u062f\u0631 \u06a9\u0646\u0627\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 PostgreSQL \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-attr\">services:<\/span>\r\n  <span class=\"hljs-attr\">app:<\/span>\r\n    <span class=\"hljs-attr\">build:<\/span> <span class=\"hljs-string\">.<\/span>\r\n    <span class=\"hljs-attr\">container_name:<\/span> <span class=\"hljs-string\">demo-app<\/span>\r\n    <span class=\"hljs-attr\">ports:<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">\"3000:3000\"<\/span>\r\n    <span class=\"hljs-attr\">environment:<\/span>\r\n      <span class=\"hljs-attr\">DATABASE_HOST:<\/span> <span class=\"hljs-string\">db<\/span>\r\n      <span class=\"hljs-attr\">DATABASE_PORT:<\/span> <span class=\"hljs-number\">5432<\/span>\r\n      <span class=\"hljs-attr\">DATABASE_NAME:<\/span> <span class=\"hljs-string\">appdb<\/span>\r\n      <span class=\"hljs-attr\">DATABASE_USER:<\/span> <span class=\"hljs-string\">appuser<\/span>\r\n      <span class=\"hljs-attr\">DATABASE_PASSWORD:<\/span> <span class=\"hljs-string\">${DATABASE_PASSWORD}<\/span>\r\n    <span class=\"hljs-attr\">depends_on:<\/span>\r\n      <span class=\"hljs-attr\">db:<\/span>\r\n        <span class=\"hljs-attr\">condition:<\/span> <span class=\"hljs-string\">service_healthy<\/span>\r\n\r\n  <span class=\"hljs-attr\">db:<\/span>\r\n    <span class=\"hljs-attr\">image:<\/span> <span class=\"hljs-string\">postgres:17-alpine<\/span>\r\n    <span class=\"hljs-attr\">container_name:<\/span> <span class=\"hljs-string\">demo-db<\/span>\r\n    <span class=\"hljs-attr\">environment:<\/span>\r\n      <span class=\"hljs-attr\">POSTGRES_DB:<\/span> <span class=\"hljs-string\">appdb<\/span>\r\n      <span class=\"hljs-attr\">POSTGRES_USER:<\/span> <span class=\"hljs-string\">appuser<\/span>\r\n      <span class=\"hljs-attr\">POSTGRES_PASSWORD:<\/span> <span class=\"hljs-string\">${DATABASE_PASSWORD}<\/span>\r\n    <span class=\"hljs-attr\">volumes:<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">postgres-data:\/var\/lib\/postgresql\/data<\/span>\r\n    <span class=\"hljs-attr\">healthcheck:<\/span>\r\n      <span class=\"hljs-attr\">test:<\/span> [<span class=\"hljs-string\">\"CMD-SHELL\"<\/span>, <span class=\"hljs-string\">\"pg_isready -U appuser -d appdb\"<\/span>]\r\n      <span class=\"hljs-attr\">interval:<\/span> <span class=\"hljs-string\">5s<\/span>\r\n      <span class=\"hljs-attr\">timeout:<\/span> <span class=\"hljs-string\">5s<\/span>\r\n      <span class=\"hljs-attr\">retries:<\/span> <span class=\"hljs-number\">10<\/span>\r\n\r\n<span class=\"hljs-attr\">volumes:<\/span>\r\n  <span class=\"hljs-attr\">postgres-data:<\/span>\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 <code>.env<\/code> \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">DATABASE_PASSWORD=replace-with-a-strong-password\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0641\u0627\u06cc\u0644 <code>.env<\/code> \u0631\u0627 \u0628\u0647 <code>.gitignore<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0648\u0627\u0631\u062f \u0645\u062e\u0632\u0646 Git \u0646\u0634\u0648\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker compose up -d --build\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627:<\/p>\n<pre><code class=\"hljs\">docker compose ps\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u06af\u0632\u0627\u0631\u0634 \u0647\u0627:<\/p>\n<pre><code class=\"hljs\">docker compose logs -f\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u062a\u0648\u0642\u0641 \u0648 \u062d\u0630\u0641 Container\u0647\u0627 \u0648 \u0634\u0628\u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647:<\/p>\n<pre><code class=\"hljs\">docker compose down\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 Volume \u0631\u0627 \u062d\u0630\u0641 \u0646\u0645\u06cc \u06a9\u0646\u062f. \u0627\u06af\u0631 \u0642\u0635\u062f \u062d\u0630\u0641 Volume \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker compose down -v\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u062f\u0631 Volume\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u067e\u0627\u06a9 \u0645\u06cc \u06a9\u0646\u062f\u061b \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0628\u0627 \u062f\u0642\u062a \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u06a9\u0627\u0645\u0644 \u062a\u0631 \u0646\u06cc\u0632 \u062f\u0631 <a href=\"https:\/\/docs.docker.com\/compose\/gettingstarted\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0634\u0631\u0648\u0639 \u0633\u0631\u06cc\u0639 Docker Compose<\/a> \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634 \u0647\u0627 \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 Dockerfile<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u06cc\u06a9 Dockerfile \u0646\u0627\u0645\u0646\u0627\u0633\u0628 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a Image \u0628\u0633\u06cc\u0627\u0631 \u062d\u062c\u06cc\u0645\u060c \u0646\u0627\u0627\u0645\u0646 \u06cc\u0627 \u06a9\u0646\u062f \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u062f. \u0631\u0639\u0627\u06cc\u062a \u0646\u06a9\u0627\u062a \u0632\u06cc\u0631 \u06a9\u06cc\u0641\u06cc\u062a \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u0647\u062a\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0627\u0632 Image \u067e\u0627\u06cc\u0647 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Image\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0645\u0627\u0646\u0646\u062f \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc Alpine \u06cc\u0627 Slim \u062f\u0631 \u0628\u0639\u0636\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627 \u062d\u062c\u0645 \u0646\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u0646\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u06a9\u0648\u0686\u06a9 \u062a\u0631\u06cc\u0646 Image \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06cc\u0633\u062a. \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u060c \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0639\u06cc\u0628 \u06cc\u0627\u0628\u06cc \u0648 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u062a\u0631\u062a\u06cc\u0628 \u062f\u0633\u062a\u0648\u0631\u0647\u0627 \u0631\u0627 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u06cc\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Docker \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0633\u0631\u0639\u062a \u0633\u0627\u062e\u062a \u0627\u0632 \u06a9\u0634 \u0644\u0627\u06cc\u0647 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u06a9\u0645\u062a\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u06a9\u062f\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u06a9\u067e\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0627\u0628\u062a\u062f\u0627 \u0641\u0627\u06cc\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u06a9\u067e\u06cc \u0648 \u0646\u0635\u0628 \u0634\u0648\u062f \u0648 \u0633\u067e\u0633 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0627\u062e\u0644 Image \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u062a\u063a\u06cc\u06cc\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u06a9\u062f \u0628\u0627\u0639\u062b \u0646\u0635\u0628 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0645\u0627\u0645 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0646\u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0633\u062e\u0647 Image\u0647\u0627 \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u062f\u0648\u0646 \u0628\u0631\u0631\u0633\u06cc \u0627\u0632 \u0628\u0631\u0686\u0633\u0628 <code>latest<\/code> \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0646\u062a\u06cc\u062c\u0647 \u0633\u0627\u062e\u062a \u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u062f. \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0646\u0633\u062e\u0647 \u0645\u0634\u062e\u0635 \u0648 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-keyword\">FROM<\/span> node:<span class=\"hljs-number\">22<\/span>-alpine\r\n<\/code><\/pre>\n<h3 dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0631\u0628\u0631 root \u0627\u062c\u0631\u0627 \u0646\u06a9\u0646\u06cc\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062d\u062f\u0648\u062f \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627 \u0647\u0645\u0627\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0631\u06cc\u0633\u06a9 \u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0631\u0627 \u0648\u0627\u0631\u062f Image \u0646\u06a9\u0646\u06cc\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u0631\u0645\u0632 \u0639\u0628\u0648\u0631\u060c \u06a9\u0644\u06cc\u062f API\u060c \u06af\u0648\u0627\u0647\u06cc \u062e\u0635\u0648\u0635\u06cc \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062d\u0633\u0627\u0633 \u0646\u0628\u0627\u06cc\u062f \u062f\u0627\u062e\u0644 Dockerfile \u06cc\u0627 \u0644\u0627\u06cc\u0647 \u0647\u0627\u06cc Image \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f. \u062d\u0630\u0641 \u06cc\u06a9 Secret \u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0628\u0639\u062f\u06cc \u0646\u06cc\u0632 \u0644\u0632\u0648\u0645\u0627 \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0644\u0627\u06cc\u0647 \u0642\u0628\u0644\u06cc \u067e\u0627\u06a9 \u0646\u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0627\u0632 Multi-stage Build \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Multi-stage Build \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0633\u0627\u062e\u062a \u0631\u0627 \u0627\u0632 Image \u0646\u0647\u0627\u06cc\u06cc \u062c\u062f\u0627 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0647 \u0648\u06cc\u0698\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc Go\u060c Java\u060c .NET \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0646\u0645\u0648\u0646\u0647 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-keyword\">FROM<\/span> node:<span class=\"hljs-number\">22<\/span>-alpine AS builder\r\n\r\n<span class=\"hljs-keyword\">WORKDIR<\/span><span class=\"language-bash\"> \/app<\/span>\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"language-bash\"> package*.json .\/<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"language-bash\"> npm ci<\/span>\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"language-bash\"> . .<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"language-bash\"> npm run build<\/span>\r\n\r\n<span class=\"hljs-keyword\">FROM<\/span> nginx:alpine\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"language-bash\"> --from=builder \/app\/dist \/usr\/share\/nginx\/html<\/span>\r\n<span class=\"hljs-keyword\">EXPOSE<\/span> <span class=\"hljs-number\">80<\/span>\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0627\u0648\u0644 \u067e\u0631\u0648\u0698\u0647 \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u062f\u0648\u0645 \u0641\u0642\u0637 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062e\u0631\u0648\u062c\u06cc \u0648\u0627\u0631\u062f Image \u0646\u0647\u0627\u06cc\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u062e\u0637\u0627\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0627 Docker<\/h2>\n<h3 dir=\"rtl\" lang=\"fa\">Container \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0645\u062a\u0648\u0642\u0641 \u0645\u06cc \u0634\u0648\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Container \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u0641\u0639\u0627\u0644 \u0645\u06cc \u0645\u0627\u0646\u062f \u06a9\u0647 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0635\u0644\u06cc \u0622\u0646 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0627\u0634\u062f. \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0639\u0644\u062a \u062a\u0648\u0642\u0641 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker logs container-name\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 <code>CMD<\/code> \u06cc\u0627 <code>ENTRYPOINT<\/code> \u0631\u0627 \u062f\u0631 Dockerfile \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u067e\u0648\u0631\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li>\u0627\u062a\u0635\u0627\u0644 \u067e\u0648\u0631\u062a \u0628\u0627 \u06af\u0632\u06cc\u0646\u0647 <code>-p<\/code> \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n<li>\u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0627\u062e\u0644 Container \u0631\u0648\u06cc <code>0.0.0.0<\/code> \u06af\u0648\u0634 \u062f\u0647\u062f\u060c \u0646\u0647 \u0641\u0642\u0637 <code>localhost<\/code>.<\/li>\n<li>\u067e\u0648\u0631\u062a \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062a\u0648\u0633\u0637 \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0627\u0634\u063a\u0627\u0644 \u0646\u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n<li>\u062f\u06cc\u0648\u0627\u0631 \u0622\u062a\u0634 \u06cc\u0627 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0634\u0628\u06a9\u0647 \u0645\u0627\u0646\u0639 \u0627\u062a\u0635\u0627\u0644 \u0646\u0628\u0627\u0634\u062f.<\/li>\n<\/ul>\n<h3 dir=\"rtl\" lang=\"fa\">\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u06a9\u062f \u062f\u0631 Container \u062f\u06cc\u062f\u0647 \u0646\u0645\u06cc \u0634\u0648\u062f<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06af\u0631 Image \u0631\u0627 \u0627\u0632 \u0631\u0648\u06cc \u06a9\u062f \u0633\u0627\u062e\u062a\u0647 \u0627\u06cc\u062f\u060c \u0628\u0639\u062f \u0627\u0632 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u062f \u0628\u0627\u06cc\u062f Image \u062f\u0648\u0628\u0627\u0631\u0647 \u0633\u0627\u062e\u062a\u0647 \u0634\u0648\u062f:<\/p>\n<pre><code class=\"hljs\">docker compose up -d --build\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 Bind Mount \u06cc\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u0645\u062e\u0635\u0648\u0635 \u062a\u0648\u0633\u0639\u0647 Compose \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0633\u062a<\/h3>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 Docker Compose\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u0627\u06cc\u062f \u0628\u0627 \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0627\u06af\u0631 \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 <code>db<\/code> \u0627\u0633\u062a\u060c \u0645\u0642\u062f\u0627\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0646\u06cc\u0632 \u0628\u0627\u06cc\u062f <code>db<\/code> \u0628\u0627\u0634\u062f\u060c \u0646\u0647 <code>localhost<\/code>.<\/p>\n<h3 dir=\"rtl\" lang=\"fa\">\u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc Docker \u067e\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a<\/h3>\n<p dir=\"rtl\" lang=\"fa\">Image\u0647\u0627\u060c Container\u0647\u0627\u06cc \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647 \u0648 \u06a9\u0634 \u0633\u0627\u062e\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0641\u0636\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0645\u0635\u0631\u0641 \u06a9\u0646\u0646\u062f. \u0627\u0628\u062a\u062f\u0627 \u0645\u06cc\u0632\u0627\u0646 \u0645\u0635\u0631\u0641 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"hljs\">docker system <span class=\"hljs-built_in\">df<\/span>\r\n<\/code><\/pre>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u067e\u0627\u06a9 \u0633\u0627\u0632\u06cc \u0645\u0646\u0627\u0628\u0639 \u0628\u062f\u0648\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc <code>docker container prune<\/code>\u060c <code>docker image prune<\/code> \u0648 <code>docker builder prune<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u067e\u06cc\u0634 \u0627\u0632 \u067e\u0627\u06a9 \u0633\u0627\u0632\u06cc\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u062f\u0627\u062f\u0647 \u06cc\u0627 \u0645\u0646\u0628\u0639 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u067e\u0631\u0648\u0698\u0647 \u062d\u0630\u0641 \u0646\u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u06a9\u0627\u0631\u0628\u0631\u062f Docker \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0648 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0627\u06a9\u0631 \u0641\u0642\u0637 \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0645\u062e\u0635\u0648\u0635 \u0645\u062f\u06cc\u0631\u0627\u0646 \u0633\u0631\u0648\u0631 \u0646\u06cc\u0633\u062a. \u062a\u06cc\u0645 \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0648 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0622\u0646 \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0645\u062e\u062a\u0644\u0641 \u067e\u0631\u0648\u0698\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u062e\u06cc \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc \u0645\u0647\u0645 \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li>\u0633\u0627\u062e\u062a \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645<\/li>\n<li>\u0627\u062c\u0631\u0627\u06cc \u0646\u0633\u062e\u0647 \u0645\u0634\u062e\u0635 PHP\u060c Node.js\u060c Python \u06cc\u0627 .NET<\/li>\n<li>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u06cc\u0639 MySQL\u060c PostgreSQL\u060c Redis \u0648 Elasticsearch<\/li>\n<li>\u0622\u0632\u0645\u0627\u06cc\u0634 \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647<\/li>\n<li>\u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f CI\/CD<\/li>\n<li>\u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0646\u0633\u062e\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0641\u0631\u0645\u0627<\/li>\n<li>\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06a9\u0646\u062a\u0631\u0644 \u0634\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631<\/li>\n<li>\u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0631\u0648\u06cc \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u062a\u0648\u0633\u0639\u0647<\/li>\n<li>\u0633\u0627\u062f\u0647 \u06a9\u0631\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0648\u0631\u0648\u062f \u0627\u0639\u0636\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u062a\u06cc\u0645<\/li>\n<\/ul>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u062a\u06cc\u0645 \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u062f WordPress\u060c MySQL \u0648 \u0627\u0628\u0632\u0627\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 Compose \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u062f. \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647\u060c \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u0627\u06cc \u0639\u0636\u0648 \u062c\u062f\u06cc\u062f \u062a\u06cc\u0645 \u0628\u0647 \u062c\u0627\u06cc \u0686\u0646\u062f \u0633\u0627\u0639\u062a \u062a\u0646\u0638\u06cc\u0645 \u062f\u0633\u062a\u06cc\u060c \u0628\u0627 \u0686\u0646\u062f \u062f\u0633\u062a\u0648\u0631 \u0645\u0634\u062e\u0635 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0622\u06cc\u0627 Docker \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u061f<\/h2>\n<p dir=\"rtl\" lang=\"fa\">Docker \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0646\u0635\u0628 \u062f\u0627\u06a9\u0631 \u0628\u0647 \u062a\u0646\u0647\u0627\u06cc\u06cc \u06cc\u06a9 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0648 \u0627\u0645\u0646 \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062d\u0631\u0641\u0647 \u0627\u06cc \u0628\u0627\u06cc\u062f \u0645\u0648\u0636\u0648\u0639\u0627\u062a \u0632\u06cc\u0631 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u0634\u0648\u0646\u062f:<\/p>\n<ul dir=\"rtl\" lang=\"fa\">\n<li>\u0627\u0645\u0646\u06cc\u062a Image\u0647\u0627 \u0648 \u0628\u0631\u0631\u0633\u06cc \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627<\/li>\n<li>\u0645\u062f\u06cc\u0631\u06cc\u062a Secret\u0647\u0627 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633<\/li>\n<li>\u062b\u0628\u062a \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06af\u0632\u0627\u0631\u0634 \u0647\u0627<\/li>\n<li>\u062a\u0647\u06cc\u0647 \u0646\u0633\u062e\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627<\/li>\n<li>\u0645\u0627\u0646\u06cc\u062a\u0648\u0631\u06cc\u0646\u06af \u0645\u0635\u0631\u0641 \u0645\u0646\u0627\u0628\u0639 \u0648 \u0633\u0644\u0627\u0645\u062a \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627<\/li>\n<li>\u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc Container\u0647\u0627<\/li>\n<li>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0634\u0628\u06a9\u0647 \u0648 \u06af\u0648\u0627\u0647\u06cc SSL<\/li>\n<li>\u062a\u0639\u06cc\u06cc\u0646 \u0633\u06cc\u0627\u0633\u062a \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f<\/li>\n<li>\u0627\u0646\u062a\u0634\u0627\u0631 \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc \u0645\u0634\u062e\u0635 \u0648 \u0627\u0645\u06a9\u0627\u0646 \u0628\u0627\u0632\u06af\u0634\u062a<\/li>\n<li>\u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u0646\u0638\u0645 Image\u0647\u0627\u06cc \u067e\u0627\u06cc\u0647<\/li>\n<\/ul>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u060c \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f Kubernetes \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062a\u0639\u062f\u0627\u062f \u0632\u06cc\u0627\u062f\u06cc Container \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c Docker Compose \u0628\u0631\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9 \u06cc\u0627 \u0645\u062a\u0648\u0633\u0637 \u06af\u0632\u06cc\u0646\u0647 \u0633\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u0645\u0633\u06cc\u0631 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u062f\u0627\u06a9\u0631<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0648\u062b\u0631 Docker \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0641\u0642\u0637 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0631\u0627 \u062d\u0641\u0638 \u0646\u06a9\u0646\u06cc\u062f. \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f:<\/p>\n<ol dir=\"rtl\" lang=\"fa\">\n<li>\u0646\u0635\u0628 Docker \u0648 \u0627\u062c\u0631\u0627\u06cc <code>hello-world<\/code><\/li>\n<li>\u0627\u062c\u0631\u0627\u06cc \u06cc\u06a9 Container \u0622\u0645\u0627\u062f\u0647 \u0645\u0627\u0646\u0646\u062f Nginx<\/li>\n<li>\u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a Image \u0648 Container<\/li>\n<li>\u0633\u0627\u062e\u062a Dockerfile \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647<\/li>\n<li>\u0627\u062a\u0635\u0627\u0644 Volume \u0648 Bind Mount<\/li>\n<li>\u0627\u06cc\u062c\u0627\u062f \u0634\u0628\u06a9\u0647 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0645\u06cc\u0627\u0646 \u062f\u0648 Container<\/li>\n<li>\u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0627 Docker Compose<\/li>\n<li>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633<\/li>\n<li>\u0628\u0647\u06cc\u0646\u0647 \u06a9\u0631\u062f\u0646 \u062d\u062c\u0645 \u0648 \u0627\u0645\u0646\u06cc\u062a Image<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631<\/li>\n<\/ol>\n<p dir=\"rtl\" lang=\"fa\">\u067e\u0633 \u0627\u0632 \u062a\u0633\u0644\u0637 \u0628\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0641\u0627\u0647\u06cc\u0645\u06cc \u0645\u0627\u0646\u0646\u062f Registry \u062e\u0635\u0648\u0635\u06cc\u060c Multi-stage Build\u060c Health Check\u060c Docker Buildx\u060c CI\/CD \u0648 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a Container \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 dir=\"rtl\" lang=\"fa\">\u062c\u0645\u0639 \u0628\u0646\u062f\u06cc \u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631<\/h2>\n<p dir=\"rtl\" lang=\"fa\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631 \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 Image\u060c Container\u060c Dockerfile\u060c Volume\u060c Network \u0648 Docker Compose \u0622\u0634\u0646\u0627 \u0634\u062f\u06cc\u0645. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0646\u062d\u0648\u0647 \u0646\u0635\u0628 Docker\u060c \u0627\u062c\u0631\u0627\u06cc \u0627\u0648\u0644\u06cc\u0646 Container\u060c \u0633\u0627\u062e\u062a Image \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0686\u0646\u062f \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u06cc\u0645.<\/p>\n<p dir=\"rtl\" lang=\"fa\">Docker \u0632\u0645\u0627\u0646\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u0627\u0631\u0632\u0634 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u0628\u0647 \u0634\u06a9\u0644 \u0634\u0641\u0627\u0641\u060c \u0642\u0627\u0628\u0644 \u062a\u06a9\u0631\u0627\u0631 \u0648 \u062a\u062d\u062a \u06a9\u0646\u062a\u0631\u0644 \u0646\u0633\u062e\u0647 \u0628\u0627\u0634\u0646\u062f. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0635\u0648\u0644\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0647\u0645\u06a9\u0627\u0631\u06cc \u062a\u06cc\u0645\u06cc \u0631\u0627 \u0633\u0627\u062f\u0647 \u062a\u0631 \u06a9\u0646\u062f\u060c \u062e\u0637\u0627\u0647\u0627\u06cc \u0646\u0627\u0634\u06cc \u0627\u0632 \u062a\u0641\u0627\u0648\u062a \u0645\u062d\u06cc\u0637 \u0647\u0627 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u062f \u0648 \u0641\u0631\u0622\u06cc\u0646\u062f \u062a\u0648\u0633\u0639\u0647 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0627 \u0645\u0646\u0638\u0645 \u062a\u0631 \u0633\u0627\u0632\u062f.<\/p>\n<p dir=\"rtl\" lang=\"fa\">\u0627\u06af\u0631 \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a\u060c \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u06cc\u0627 \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0641\u0646\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0628\u0647 \u0645\u0634\u0627\u0648\u0631\u0647 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u062e\u0635\u0635\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0635\u0641\u062d\u0647 <a href=\"https:\/\/tarahanenovin.ir\/site\/contact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u062a\u0645\u0627\u0633 \u0628\u0627 \u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646<\/a> \u0628\u0627 \u06a9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 \u0645\u062c\u0645\u0648\u0639\u0647 \u062f\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631 \u06cc\u06a9\u06cc \u0627\u0632 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0646\u0642\u0627\u0637 \u0634\u0631\u0648\u0639 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u0646\u062f \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f\u060c \u0642\u0627\u0628\u0644 \u0627\u0646\u062a\u0642\u0627\u0644 \u0648 \u0645\u0633\u062a\u0642\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u0646\u062f. Docker \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0622\u0646 \u0631\u0627 \u062f\u0627\u062e\u0644 \u06cc\u06a9 \u0628\u0633\u062a\u0647 \u0645\u0634\u062e\u0635 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0647\u0645\u0627\u0646 \u0628\u0633\u062a\u0647 \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0634\u062e\u0635\u06cc\u060c \u0633\u0631\u0648\u0631 \u06cc\u0627 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0627\u0628\u0631\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0627\u0635\u0644\u06cc Docker \u0622\u0634\u0646\u0627 \u0645\u06cc \u0634\u0648\u06cc\u0645 \u0648 \u0633\u067e\u0633 \u0646\u0635\u0628 \u062f\u0627\u06a9\u0631\u060c \u0633\u0627\u062e\u062a Image\u060c \u0627\u062c\u0631\u0627\u06cc Container\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647 \u0647\u0627 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u062d\u0644\u0647 \u0628\u0647 \u0645\u0631\u062d\u0644\u0647 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u062f\u0627\u06a9\u0631 \u0686\u06cc\u0633\u062a\u061f \u062f\u0627\u06a9\u0631 \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u0645\u062a\u0646 \u0628\u0627\u0632 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a\u060c \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc\u060c \u062a\u0648\u0632\u06cc\u0639 \u0648 \u0627\u062c\u0631\u0627\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc\u06cc \u0628\u0647 \u0646\u0627\u0645 Container \u0627\u0633\u062a. \u0647\u0631 Container \u0634\u0627\u0645\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0622\u0646 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u062f\u0648\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u062d\u062a \u0648\u0628 \u0628\u0627 Python\u060c Node.js \u06cc\u0627 PHP \u062a\u0648\u0633\u0639\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc\u062f. \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0647 \u0646\u0633\u062e\u0647 \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\u060c \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0648\u0628 \u0633\u0631\u0648\u0631 \u0648 \u0686\u0646\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0628\u0627 Docker \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0631\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 \u06cc\u06a9 Image \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645 \u0648 \u0633\u0631\u0648\u0631 \u0627\u0635\u0644\u06cc \u062f\u0642\u06cc\u0642\u0627 \u0627\u0632 \u0647\u0645\u0627\u0646 \u0645\u062d\u06cc\u0637 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647 \u062a\u0639\u0627\u0631\u06cc\u0641 \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u0647\u0627\u06cc \u0631\u0633\u0645\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0645\u0633\u062a\u0646\u062f\u0627\u062a Docker \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f. \u0686\u0631\u0627 \u0628\u0627\u06cc\u062f Docker \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u0645\u061f \u0645\u0634\u06a9\u0644 \u0645\u0639\u0631\u0648\u0641 \u00ab\u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0645\u0646 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u00bb \u0645\u0639\u0645\u0648\u0644\u0627 \u0632\u0645\u0627\u0646\u06cc \u0628\u0647 \u0648\u062c\u0648\u062f \u0645\u06cc \u0622\u06cc\u062f \u06a9\u0647 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0628\u0627 \u0645\u062d\u06cc\u0637 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06cc\u0627 \u0633\u0631\u0648\u0631 \u0627\u0635\u0644\u06cc \u062a\u0641\u0627\u0648\u062a \u062f\u0627\u0631\u062f. \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0646\u0633\u062e\u0647 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u060c \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u06cc\u0627 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06cc\u06a9\u0633\u0627\u0646 \u0646\u0628\u0627\u0634\u0646\u062f. \u062f\u0627\u06a9\u0631 \u0627\u06cc\u0646 \u062a\u0641\u0627\u0648\u062a \u0647\u0627 \u0631\u0627 \u062a\u0627 \u062d\u062f \u0632\u06cc\u0627\u062f\u06cc \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f. \u0645\u0647\u0645 \u062a\u0631\u06cc\u0646 \u0645\u0632\u0627\u06cc\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632: \u0627\u06cc\u062c\u0627\u062f \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645 \u0627\u0646\u062a\u0642\u0627\u0644 \u0622\u0633\u0627\u0646 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0645\u06cc\u0627\u0646 \u0633\u06cc\u0633\u062a\u0645 \u0634\u062e\u0635\u06cc\u060c \u0633\u0631\u0648\u0631 \u0648 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u06a9\u0627\u0647\u0634 \u0645\u0634\u06a9\u0644\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u0633\u062e\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u06cc\u0639 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0648 \u0622\u0632\u0645\u0627\u06cc\u0634 \u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0632 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0647\u062a\u0631 \u0627\u0632 \u0645\u0646\u0627\u0628\u0639 \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0633\u0627\u062f\u0647 \u062a\u0631 \u0634\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0627\u0645\u06a9\u0627\u0646 \u0628\u0627\u0632\u06af\u0634\u062a \u0633\u0631\u06cc\u0639 \u0628\u0647 \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u062f\u0627\u06a9\u0631 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648\u0628\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u0627\u0646 \u0628\u06a9 \u0627\u0646\u062f\u060c \u06a9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 DevOps\u060c \u0645\u062f\u06cc\u0631\u0627\u0646 \u0633\u0631\u0648\u0631 \u0648 \u062a\u06cc\u0645 \u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a. \u062a\u0641\u0627\u0648\u062a Docker \u0648 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0686\u06cc\u0633\u062a\u061f \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u06cc\u0627 Virtual Machine \u0645\u0639\u0645\u0648\u0644\u0627 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f. \u0647\u0631 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0628\u0647 \u062d\u0627\u0641\u0638\u0647\u060c \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 \u0648 \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0622\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0632\u0645\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0628\u0628\u0631\u062f. Container \u0628\u0631\u062e\u0644\u0627\u0641 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc\u060c \u0645\u0639\u0645\u0648\u0644\u0627 \u0627\u0632 \u0647\u0633\u062a\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0633\u0628\u06a9 \u062a\u0631 \u0627\u0633\u062a\u060c \u0633\u0631\u06cc\u0639 \u062a\u0631 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0645\u0646\u0627\u0628\u0639 \u06a9\u0645\u062a\u0631\u06cc \u0645\u0635\u0631\u0641 \u0645\u06cc \u06a9\u0646\u062f. \u062a\u0641\u0627\u0648\u062a \u0647\u0627\u06cc \u0645\u0647\u0645 \u0627\u06cc\u0646 \u062f\u0648 \u0641\u0646\u0627\u0648\u0631\u06cc \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u062e\u0644\u0627\u0635\u0647 \u06a9\u0631\u062f: \u0648\u06cc\u0698\u06af\u06cc Docker Container \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0632\u0645\u0627\u0646 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u0639\u0645\u0648\u0644\u0627 \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u06cc\u0634\u062a\u0631 \u0645\u0635\u0631\u0641 \u0645\u0646\u0627\u0628\u0639 \u06a9\u0645\u062a\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06a9\u0627\u0645\u0644 \u0646\u062f\u0627\u0631\u062f \u062f\u0627\u0631\u062f \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u0633\u06cc\u0627\u0631 \u0645\u0646\u0627\u0633\u0628 \u0645\u0646\u0627\u0633\u0628 \u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u062f\u0631 \u0633\u0637\u062d \u0641\u0631\u0622\u06cc\u0646\u062f \u062f\u0631 \u0633\u0637\u062d \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06a9\u0627\u0631\u0628\u0631\u062f \u0631\u0627\u06cc\u062c \u062a\u0648\u0633\u0639\u0647\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0627\u062c\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u0633\u062a\u0642\u0644 \u062f\u0627\u06a9\u0631 \u0647\u0645\u06cc\u0634\u0647 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a. \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u062f\u0648 \u0628\u0647 \u0633\u0637\u062d \u062c\u062f\u0627\u0633\u0627\u0632\u06cc\u060c \u0627\u0645\u0646\u06cc\u062a\u060c \u0646\u0648\u0639 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0648 \u0645\u0639\u0645\u0627\u0631\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. \u0645\u0641\u0627\u0647\u06cc\u0645 \u0627\u0635\u0644\u06cc \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a Docker \u0628\u0627\u06cc\u062f \u0628\u0627 \u0686\u0646\u062f \u0645\u0641\u0647\u0648\u0645 \u067e\u0627\u06cc\u0647 \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f. Docker Image \u0686\u06cc\u0633\u062a\u061f Image \u06cc\u06a9 \u0627\u0644\u06af\u0648\u06cc \u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u062f\u0633\u062a\u0648\u0631 \u0627\u062c\u0631\u0627\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Image \u0631\u0627 \u0645\u0627\u0646\u0646\u062f \u0646\u0642\u0634\u0647 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627\u06cc\u06cc \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c Image \u0631\u0633\u0645\u06cc Nginx \u0634\u0627\u0645\u0644 \u0641\u0627\u06cc\u0644 \u0647\u0627 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u0627\u0633\u062a. Docker Container \u0686\u06cc\u0633\u062a\u061f Container \u0646\u0645\u0648\u0646\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u06cc\u0627 \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647 \u06cc\u06a9 Image \u0627\u0633\u062a. \u0627\u0632 \u06cc\u06a9 Image \u0645\u06cc \u062a\u0648\u0627\u0646 \u0686\u0646\u062f Container \u0645\u0633\u062a\u0642\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f. \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0627\u0645\u06a9\u0627\u0646 \u062f\u0627\u0631\u062f \u0633\u0647 Container \u0627\u0632 Image \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0647\u0631 \u06a9\u062f\u0627\u0645 \u0631\u0627 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a \u0645\u062a\u0641\u0627\u0648\u062a\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. Dockerfile \u0686\u06cc\u0633\u062a\u061f Dockerfile \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc \u0634\u0627\u0645\u0644 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 Docker \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a Image \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Image \u067e\u0627\u06cc\u0647\u060c \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0631\u06cc\u060c \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0648 \u0641\u0631\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f. Docker Registry \u0686\u06cc\u0633\u062a\u061f Registry \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0648 \u062a\u0648\u0632\u06cc\u0639 Image\u0647\u0627 \u0627\u0633\u062a. Docker Hub \u06cc\u06a9\u06cc \u0627\u0632 \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062a\u0631\u06cc\u0646 Registry\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc \u0645\u062d\u0633\u0648\u0628 \u0645\u06cc \u0634\u0648\u062f. \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627 \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f Registry \u062e\u0635\u0648\u0635\u06cc \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u0646\u062f. Docker Volume \u0686\u06cc\u0633\u062a\u061f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0627\u062e\u0644 \u0644\u0627\u06cc\u0647 \u0642\u0627\u0628\u0644 \u0646\u0648\u0634\u062a\u0646 Container \u0628\u0627 \u062d\u0630\u0641 Container \u0627\u0632 \u062f\u0633\u062a\u0631\u0633 \u062e\u0627\u0631\u062c \u0645\u06cc \u0634\u0648\u0646\u062f. Volume \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0686\u0631\u062e\u0647 \u0639\u0645\u0631 \u0622\u0646 \u0627\u0632 Container \u0645\u0633\u062a\u0642\u0644 \u0627\u0633\u062a. Volume \u0628\u0647 \u0648\u06cc\u0698\u0647 \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u0646\u0628\u0627\u06cc\u062f \u0628\u0627 \u062d\u0630\u0641 Container \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u0648\u0646\u062f \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u0631\u062f. Docker Network \u0686\u06cc\u0633\u062a\u061f Network \u0627\u0645\u06a9\u0627\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 \u0645\u06cc\u0627\u0646 Container\u0647\u0627 \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 Container \u0628\u0627 \u0634\u0628\u06a9\u0647 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0686\u0646\u062f \u0633\u0631\u0648\u06cc\u0633\u0647\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0622\u0645\u0648\u0632\u0634 \u0646\u0635\u0628 Docker \u0631\u0648\u0634 \u0646\u0635\u0628 Docker \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0634\u0645\u0627 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. \u0646\u0635\u0628 Docker \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0645\u0639\u0645\u0648\u0644\u0627 Docker Desktop \u0646\u0635\u0628 \u0645\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0648\u06cc\u0646\u062f\u0648\u0632\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 WSL 2 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062a\u062c\u0631\u0628\u0647 \u0645\u0646\u0627\u0633\u0628 \u062a\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc Container\u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u06cc \u0641\u0631\u0627\u0647\u0645 \u06a9\u0646\u062f. \u0645\u0631\u0627\u062d\u0644 \u06a9\u0644\u06cc \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632: \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0645\u062c\u0627\u0632\u06cc \u0633\u0627\u0632\u06cc \u062f\u0631 BIOS \u06cc\u0627 UEFI \u0646\u0635\u0628 \u0648 \u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc WSL 2 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u062f\u0631\u06cc\u0627\u0641\u062a Docker Desktop \u0627\u0632 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0631\u0633\u0645\u06cc \u0646\u0635\u0628 \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0631\u0631\u0633\u06cc \u0641\u0639\u0627\u0644 \u0628\u0648\u062f\u0646 Docker Engine \u0646\u0635\u0628 Docker \u062f\u0631 macOS \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 macOS \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f Docker Desktop \u0631\u0627 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 Intel \u06cc\u0627 Apple Silicon \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0646\u0635\u0628 \u06a9\u0646\u0646\u062f. \u067e\u0633 \u0627\u0632 \u0646\u0635\u0628\u060c Docker Engine \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u062d\u06cc\u0637 Docker Desktop \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u0634\u0648\u062f. \u0646\u0635\u0628 Docker \u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u062f\u0631 \u062a\u0648\u0632\u06cc\u0639 \u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646 Docker Engine \u0631\u0627 \u0627\u0632 \u0645\u062e\u0632\u0646 \u0631\u0633\u0645\u06cc Docker \u0646\u0635\u0628 \u06a9\u0631\u062f. \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc \u0646\u0635\u0628 \u0628\u0631\u0627\u0633\u0627\u0633 \u062a\u0648\u0632\u06cc\u0639 \u0648 \u0646\u0633\u062e\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u062a\u0641\u0627\u0648\u062a \u0647\u0633\u062a\u0646\u062f. \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0628\u0647 \u062c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0628\u0633\u062a\u0647 \u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc\u060c \u0645\u0631\u0627\u062d\u0644 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0631\u0633\u0645\u06cc \u0646\u0635\u0628 Docker Engine \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0628\u0639\u062f \u0627\u0632 \u0646\u0635\u0628\u060c \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0646\u0633\u062e\u0647 Docker \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f: docker &#8211;version \u0633\u067e\u0633 \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0639\u0645\u0644\u06a9\u0631\u062f Docker \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker run hello-world Docker \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u0628\u0648\u062f\u0646 Image \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u06cc\u06a9 Container \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0645\u06cc \u0633\u0627\u0632\u062f. \u0646\u0645\u0627\u06cc\u0634 \u067e\u06cc\u0627\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0646\u0635\u0628 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u0648\u0644\u06cc\u0646 Container \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f: docker run -d &#8211;name my-nginx -p 8080:80 nginx \u0627\u062c\u0632\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632: docker run: \u0633\u0627\u062e\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc Container \u062c\u062f\u06cc\u062f -d: \u0627\u062c\u0631\u0627\u06cc Container \u062f\u0631 \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647 &#8211;name my-nginx: \u062a\u0639\u06cc\u06cc\u0646 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc Container -p 8080:80: \u0627\u062a\u0635\u0627\u0644 \u067e\u0648\u0631\u062a 8080 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0628\u0647 \u067e\u0648\u0631\u062a 80 Container nginx: \u0646\u0627\u0645 Image \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u060c \u0622\u062f\u0631\u0633 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f: http:\/\/localhost:8080 \u0627\u06af\u0631 \u0635\u0641\u062d\u0647 \u067e\u06cc\u0634 \u0641\u0631\u0636 Nginx \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0648\u0644\u06cc\u0646 Container \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u0647\u0645 Docker \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u062a\u0639\u062f\u0627\u062f\u06cc \u0627\u0632 \u067e\u0631\u06a9\u0627\u0631\u0628\u0631\u062f\u062a\u0631\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a Docker \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0646\u0645\u0627\u06cc\u0634 Container\u0647\u0627\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 docker ps \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062a\u0645\u0627\u0645 Container\u0647\u0627\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0645\u0648\u0627\u0631\u062f \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647\u060c \u0627\u0632 \u06af\u0632\u06cc\u0646\u0647 -a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker ps -a \u0646\u0645\u0627\u06cc\u0634 Image\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f docker images \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0646 Container docker stop my-nginx \u0627\u062c\u0631\u0627\u06cc \u0645\u062c\u062f\u062f Container docker start my-nginx \u062d\u0630\u0641 Container docker rm my-nginx Container \u0628\u0627\u06cc\u062f \u067e\u06cc\u0634 \u0627\u0632 \u062d\u0630\u0641 \u0645\u062a\u0648\u0642\u0641 \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u062a\u0648\u0642\u0641 \u0648 \u062d\u0630\u0641 \u0627\u062c\u0628\u0627\u0631\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f: docker rm -f my-nginx \u062d\u0630\u0641 Image docker rmi nginx \u0645\u0634\u0627\u0647\u062f\u0647 \u06af\u0632\u0627\u0631\u0634 \u0627\u062c\u0631\u0627\u06cc Container docker logs my-nginx \u0628\u0631\u0627\u06cc \u062f\u0646\u0628\u0627\u0644 \u06a9\u0631\u062f\u0646 \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u0646\u062f\u0647 \u0627\u0632 \u06af\u0632\u06cc\u0646\u0647 -f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker logs -f my-nginx \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u062f\u0627\u062e\u0644 Container docker exec -it my-nginx sh \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u06cc\u06a9 \u067e\u0648\u0633\u062a\u0647 \u062a\u0639\u0627\u0645\u0644\u06cc \u062f\u0627\u062e\u0644 Container \u0628\u0627\u0632 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u0644\u0628\u062a\u0647 \u0646\u0648\u0639 \u067e\u0648\u0633\u062a\u0647 \u0645\u0648\u062c\u0648\u062f \u0628\u0647 Image \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a Dockerfile \u0628\u0631\u0627\u06cc \u062f\u0631\u06a9 \u0628\u0647\u062a\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a Image\u060c \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 Node.js \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f: docker-demo\/ \u251c\u2500\u2500 Dockerfile \u251c\u2500\u2500 package.json \u2514\u2500\u2500 server.js \u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644 server.js: const http = require(&#8220;http&#8221;); const server = http.createServer((request, response) =&gt; { response.writeHead(200, { &#8220;Content-Type&#8221;: &#8220;text\/plain; charset=utf-8&#8221; }); response.end(&#8220;Hello from Docker&#8221;); }); server.listen(3000, &#8220;0.0.0.0&#8221;, () =&gt; { console.log(&#8220;Server is running on port 3000&#8221;); }); \u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644 package.json: { &#8220;name&#8221;: &#8220;docker-demo&#8221;, &#8220;version&#8221;: &#8220;1.0.0&#8221;, &#8220;scripts&#8221;: { &#8220;start&#8221;: &#8220;node server.js&#8221; } } \u0627\u06a9\u0646\u0648\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u062f\u0648\u0646 \u067e\u0633\u0648\u0646\u062f \u0628\u0627 \u0646\u0627\u0645 Dockerfile \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f: FROM node:22-alpine WORKDIR \/app COPY package*.json .\/ COPY . . EXPOSE 3000 CMD [&#8220;npm&#8221;, &#8220;start&#8221;] \u0647\u0631 \u062f\u0633\u062a\u0648\u0631 \u0648\u0638\u06cc\u0641\u0647 \u0645\u0634\u062e\u0635\u06cc \u062f\u0627\u0631\u062f: FROM: \u062a\u0639\u06cc\u06cc\u0646 Image \u067e\u0627\u06cc\u0647 WORKDIR: \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0631\u06cc \u062f\u0627\u062e\u0644 Image COPY: \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u0647\u0627 \u0628\u0647 Image EXPOSE: \u0645\u0633\u062a\u0646\u062f \u06a9\u0631\u062f\u0646 \u067e\u0648\u0631\u062a \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 CMD: \u062a\u0639\u06cc\u06cc\u0646 \u0641\u0631\u0645\u0627\u0646 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc Container \u0633\u0627\u062e\u062a Image \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0631 \u0645\u0633\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f: docker build -t docker-demo:1.0 . \u06af\u0632\u06cc\u0646\u0647 -t \u0646\u0627\u0645 \u0648 \u0628\u0631\u0686\u0633\u0628 Image \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f. \u0646\u0642\u0637\u0647 \u0627\u0646\u062a\u0647\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0646\u06cc\u0632 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 Docker \u0628\u0627\u06cc\u062f \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0632 \u0645\u0633\u06cc\u0631 \u0641\u0639\u0644\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f. \u0628\u0639\u062f \u0627\u0632 \u067e\u0627\u06cc\u0627\u0646 \u0633\u0627\u062e\u062a\u060c Image \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f: docker run -d &#8211;name docker-demo-app -p 3000:3000 docker-demo:1.0 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0632 \u0622\u062f\u0631\u0633 \u0632\u06cc\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a: http:\/\/localhost:3000 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 .dockerignore \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a Image \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0647 Docker \u0627\u0631\u0633\u0627\u0644 \u0634\u0648\u0646\u062f. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u067e\u0648\u0634\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a Git\u060c \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0642\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u0631\u0627 \u06a9\u0646\u062f \u06a9\u0646\u0646\u062f \u06cc\u0627 \u062d\u062c\u0645 Image \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u0646\u062f. \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 Node.js \u06cc\u06a9 \u0641\u0627\u06cc\u0644 .dockerignore \u0628\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0633\u0627\u0632\u06cc\u062f: node_modules npm-debug.log .git .gitignore .env \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062d\u0633\u0627\u0633 \u0645\u0627\u0646\u0646\u062f .env \u0646\u0628\u0627\u06cc\u062f \u0628\u062f\u0648\u0646 \u062f\u0644\u06cc\u0644 \u062f\u0627\u062e\u0644 Image \u06a9\u067e\u06cc \u0634\u0648\u0646\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u0631\u0645\u0627\u0646\u0647 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0631\u0648\u0634 \u0647\u0627\u06cc \u0627\u0645\u0646 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0648 Secret\u0647\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f. \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0627 Docker Volume \u0627\u06af\u0631 \u06cc\u06a9 Container \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f\u060c \u0646\u0628\u0627\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0635\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u06cc\u0632 \u062d\u0630\u0641 \u0634\u0648\u0646\u062f. Volume \u0631\u0627\u0647\u06a9\u0627\u0631 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc Docker \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a Volume \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker volume create app-data \u0641\u0647\u0631\u0633\u062a Volume\u0647\u0627 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker volume ls \u0633\u067e\u0633 Volume \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc Container \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f: docker run -d \\ &#8211;name my-nginx \\ -p 8080:80 \\ -v app-data:\/usr\/share\/nginx\/html \\ nginx \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0645\u0644 Volume \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f: docker volume inspect app-data \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631\u0628\u0627\u0631\u0647 \u0631\u0648\u0634 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc Docker Volume \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a. \u062a\u0641\u0627\u0648\u062a Volume \u0648 Bind Mount \u062f\u0631 Bind Mount \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0645\u0634\u062e\u0635 \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627 \u0628\u0647 Container \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a\u061b \u0632\u06cc\u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u062f\u0627\u062e\u0644 Container \u062f\u06cc\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0646\u0645\u0648\u0646\u0647 \u0627\u062a\u0635\u0627\u0644 \u067e\u0648\u0634\u0647 \u0641\u0639\u0644\u06cc \u0628\u0647 Nginx: docker run -d \\ &#8211;name local-web \\ -p 8080:80 \\ -v &#8220;$(pwd)&#8221;:\/usr\/share\/nginx\/html:ro \\ nginx \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644\u060c \u06af\u0632\u06cc\u0646\u0647 ro \u062f\u0633\u062a\u0631\u0633\u06cc Container \u0631\u0627 \u0628\u0647 \u062d\u0627\u0644\u062a \u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646\u06cc \u0645\u062d\u062f\u0648\u062f \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0644\u06cc: Volume \u062a\u0648\u0633\u0637 Docker \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u0634\u0648\u062f \u0648 \u0628\u0631\u0627\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0646\u0627\u0633\u0628\u06cc \u0627\u0633\u062a. Bind Mount \u0628\u0647 \u0645\u0633\u06cc\u0631 \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0648\u0627\u0628\u0633\u062a\u0647 \u0627\u0633\u062a \u0648 \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f \u062f\u0627\u0631\u062f. \u0634\u0628\u06a9\u0647 \u062f\u0631 Docker \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u061f \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f: docker network create app-network \u0633\u067e\u0633 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Container\u0647\u0627 \u0631\u0627 \u0631\u0648\u06cc \u0647\u0645\u0627\u0646 \u0634\u0628\u06a9\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f: docker run -d \\ &#8211;name database \\ &#8211;network app-network \\ -e POSTGRES_PASSWORD=change-this-password \\ postgres Container \u062f\u06cc\u06af\u0631\u06cc \u06a9\u0647 \u0639\u0636\u0648 app-network \u0628\u0627\u0634\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0627\u0645 database \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u062f\u0631\u0633 IP \u062b\u0627\u0628\u062a \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u062f\u0627\u062e\u0644\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f. \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0646\u0628\u0627\u06cc\u062f \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627 \u062f\u0631 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u0641\u0627\u06cc\u0644 Dockerfile \u06cc\u0627 \u0645\u062e\u0632\u0646 Git \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f. Docker Compose \u0686\u06cc\u0633\u062a\u061f \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627 \u0641\u0642\u0637 \u0627\u0632 \u06cc\u06a9 Container \u062a\u0634\u06a9\u06cc\u0644 \u0646\u0645\u06cc \u0634\u0648\u0646\u062f. \u06cc\u06a9 \u0633\u0627\u0645\u0627\u0646\u0647 \u062a\u062d\u062a \u0648\u0628 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0634\u0627\u0645\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0635\u0644\u06cc\u060c \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c Redis\u060c \u0648\u0628 \u0633\u0631\u0648\u0631 \u0648 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062c\u0627\u0646\u0628\u06cc \u0628\u0627\u0634\u062f. Docker Compose \u0627\u0645\u06a9\u0627\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0686\u0646\u062f \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 YAML \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u062c\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0686\u0646\u062f \u062f\u0633\u062a\u0648\u0631 \u0637\u0648\u0644\u0627\u0646\u06cc\u060c \u062a\u0645\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u060c \u0634\u0628\u06a9\u0647 \u0647\u0627 \u0648 Volume\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 compose.yaml \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062a\u06a9\u0645\u06cc\u0644\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0633\u062a\u0646\u062f\u0627\u062a Docker Compose \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f. \u0622\u0645\u0648\u0632\u0634 Docker Compose \u0628\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062f\u0631 \u0645\u062b\u0627\u0644 \u0632\u06cc\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Node.js \u062f\u0631 \u06a9\u0646\u0627\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 PostgreSQL \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f: services: app: build: . container_name: demo-app ports: &#8211; &#8220;3000:3000&#8221; environment: DATABASE_HOST: db DATABASE_PORT: 5432 DATABASE_NAME: appdb DATABASE_USER: appuser DATABASE_PASSWORD: ${DATABASE_PASSWORD} depends_on: db: condition: service_healthy db: image: postgres:17-alpine container_name: demo-db environment: POSTGRES_DB: appdb POSTGRES_USER: appuser POSTGRES_PASSWORD: ${DATABASE_PASSWORD} volumes: &#8211; postgres-data:\/var\/lib\/postgresql\/data healthcheck: test: [&#8220;CMD-SHELL&#8221;, &#8220;pg_isready -U appuser -d appdb&#8221;] interval: 5s timeout: 5s retries: 10 volumes: postgres-data: \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 .env \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f: DATABASE_PASSWORD=replace-with-a-strong-password \u0641\u0627\u06cc\u0644 .env \u0631\u0627 \u0628\u0647 .gitignore \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0648\u0627\u0631\u062f \u0645\u062e\u0632\u0646 Git \u0646\u0634\u0648\u0646\u062f. \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker compose up -d &#8211;build \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627: docker compose ps \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u06af\u0632\u0627\u0631\u0634 \u0647\u0627: docker compose logs -f \u0628\u0631\u0627\u06cc \u062a\u0648\u0642\u0641 \u0648 \u062d\u0630\u0641 Container\u0647\u0627 \u0648 \u0634\u0628\u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647: docker compose down \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 Volume \u0631\u0627 \u062d\u0630\u0641 \u0646\u0645\u06cc \u06a9\u0646\u062f. \u0627\u06af\u0631 \u0642\u0635\u062f \u062d\u0630\u0641 Volume \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker compose down -v \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u062f\u0631 Volume\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u067e\u0627\u06a9 \u0645\u06cc \u06a9\u0646\u062f\u061b \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0628\u0627 \u062f\u0642\u062a \u0627\u062c\u0631\u0627 \u0634\u0648\u062f. \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u06a9\u0627\u0645\u0644 \u062a\u0631 \u0646\u06cc\u0632 \u062f\u0631 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0634\u0631\u0648\u0639 \u0633\u0631\u06cc\u0639 Docker Compose \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634 \u0647\u0627 \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 Dockerfile \u06cc\u06a9 Dockerfile \u0646\u0627\u0645\u0646\u0627\u0633\u0628 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a Image \u0628\u0633\u06cc\u0627\u0631 \u062d\u062c\u06cc\u0645\u060c \u0646\u0627\u0627\u0645\u0646 \u06cc\u0627 \u06a9\u0646\u062f \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u062f. \u0631\u0639\u0627\u06cc\u062a \u0646\u06a9\u0627\u062a \u0632\u06cc\u0631 \u06a9\u06cc\u0641\u06cc\u062a \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u0647\u062a\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u0632 Image \u067e\u0627\u06cc\u0647 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f Image\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0645\u0627\u0646\u0646\u062f \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc Alpine \u06cc\u0627 Slim \u062f\u0631 \u0628\u0639\u0636\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627 \u062d\u062c\u0645 \u0646\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u0646\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u06a9\u0648\u0686\u06a9 \u062a\u0631\u06cc\u0646 Image \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06cc\u0633\u062a. \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u060c \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0639\u06cc\u0628 \u06cc\u0627\u0628\u06cc \u0648 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f. \u062a\u0631\u062a\u06cc\u0628 \u062f\u0633\u062a\u0648\u0631\u0647\u0627 \u0631\u0627 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u06cc\u062f Docker \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0633\u0631\u0639\u062a \u0633\u0627\u062e\u062a \u0627\u0632 \u06a9\u0634 \u0644\u0627\u06cc\u0647 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u06a9\u0645\u062a\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u06a9\u062f\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u06a9\u067e\u06cc \u0634\u0648\u0646\u062f. \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0627\u0628\u062a\u062f\u0627 \u0641\u0627\u06cc\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u06a9\u067e\u06cc \u0648 \u0646\u0635\u0628 \u0634\u0648\u062f \u0648 \u0633\u067e\u0633 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0627\u062e\u0644 Image \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u062a\u063a\u06cc\u06cc\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u06a9\u062f \u0628\u0627\u0639\u062b \u0646\u0635\u0628 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0645\u0627\u0645 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0646\u0633\u062e\u0647 Image\u0647\u0627 \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u062f\u0648\u0646 \u0628\u0631\u0631\u0633\u06cc \u0627\u0632 \u0628\u0631\u0686\u0633\u0628 latest \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0646\u062a\u06cc\u062c\u0647 \u0633\u0627\u062e\u062a \u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u062f. \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0646\u0633\u062e\u0647 \u0645\u0634\u062e\u0635 \u0648 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f: FROM node:22-alpine \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0631\u0628\u0631 root \u0627\u062c\u0631\u0627 \u0646\u06a9\u0646\u06cc\u062f \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062d\u062f\u0648\u062f \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627 \u0647\u0645\u0627\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0631\u06cc\u0633\u06a9 \u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0631\u0627 \u0648\u0627\u0631\u062f Image \u0646\u06a9\u0646\u06cc\u062f \u0631\u0645\u0632 \u0639\u0628\u0648\u0631\u060c \u06a9\u0644\u06cc\u062f API\u060c \u06af\u0648\u0627\u0647\u06cc \u062e\u0635\u0648\u0635\u06cc \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062d\u0633\u0627\u0633 \u0646\u0628\u0627\u06cc\u062f \u062f\u0627\u062e\u0644 Dockerfile \u06cc\u0627 \u0644\u0627\u06cc\u0647 \u0647\u0627\u06cc Image \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f. \u062d\u0630\u0641 \u06cc\u06a9 Secret \u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0628\u0639\u062f\u06cc \u0646\u06cc\u0632 \u0644\u0632\u0648\u0645\u0627 \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0644\u0627\u06cc\u0647 \u0642\u0628\u0644\u06cc \u067e\u0627\u06a9 \u0646\u0645\u06cc \u06a9\u0646\u062f. \u0627\u0632 Multi-stage Build \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f Multi-stage Build \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0633\u0627\u062e\u062a \u0631\u0627 \u0627\u0632 Image \u0646\u0647\u0627\u06cc\u06cc \u062c\u062f\u0627 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0647 \u0648\u06cc\u0698\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc Go\u060c Java\u060c .NET \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f \u0645\u0641\u06cc\u062f \u0627\u0633\u062a. \u0646\u0645\u0648\u0646\u0647 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f: FROM node:22-alpine AS builder WORKDIR \/app COPY package*.json .\/ RUN npm ci COPY . . RUN npm run build FROM nginx:alpine COPY &#8211;from=builder \/app\/dist \/usr\/share\/nginx\/html EXPOSE 80 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0627\u0648\u0644 \u067e\u0631\u0648\u0698\u0647 \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u062f\u0648\u0645 \u0641\u0642\u0637 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062e\u0631\u0648\u062c\u06cc \u0648\u0627\u0631\u062f Image \u0646\u0647\u0627\u06cc\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f. \u062e\u0637\u0627\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0627 Docker Container \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0645\u062a\u0648\u0642\u0641 \u0645\u06cc \u0634\u0648\u062f Container \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u0641\u0639\u0627\u0644 \u0645\u06cc \u0645\u0627\u0646\u062f \u06a9\u0647 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0635\u0644\u06cc \u0622\u0646 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0627\u0634\u062f. \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0639\u0644\u062a \u062a\u0648\u0642\u0641 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: docker logs container-name \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 CMD \u06cc\u0627 ENTRYPOINT \u0631\u0627 \u062f\u0631 Dockerfile \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f. \u067e\u0648\u0631\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u06cc\u062f: \u0627\u062a\u0635\u0627\u0644 \u067e\u0648\u0631\u062a \u0628\u0627 \u06af\u0632\u06cc\u0646\u0647 -p \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f. \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0627\u062e\u0644 Container \u0631\u0648\u06cc 0.0.0.0 \u06af\u0648\u0634 \u062f\u0647\u062f\u060c \u0646\u0647 \u0641\u0642\u0637 localhost. \u067e\u0648\u0631\u062a \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062a\u0648\u0633\u0637 \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0627\u0634\u063a\u0627\u0644 \u0646\u0634\u062f\u0647 \u0628\u0627\u0634\u062f. \u062f\u06cc\u0648\u0627\u0631 \u0622\u062a\u0634 \u06cc\u0627 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0634\u0628\u06a9\u0647 \u0645\u0627\u0646\u0639 \u0627\u062a\u0635\u0627\u0644 \u0646\u0628\u0627\u0634\u062f. \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u06a9\u062f \u062f\u0631 Container \u062f\u06cc\u062f\u0647 \u0646\u0645\u06cc \u0634\u0648\u062f \u0627\u06af\u0631 Image \u0631\u0627 \u0627\u0632 \u0631\u0648\u06cc \u06a9\u062f \u0633\u0627\u062e\u062a\u0647 \u0627\u06cc\u062f\u060c \u0628\u0639\u062f \u0627\u0632 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u062f \u0628\u0627\u06cc\u062f Image \u062f\u0648\u0628\u0627\u0631\u0647 \u0633\u0627\u062e\u062a\u0647 \u0634\u0648\u062f: docker compose up -d &#8211;build \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 Bind Mount \u06cc\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u0645\u062e\u0635\u0648\u0635 \u062a\u0648\u0633\u0639\u0647 Compose \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0633\u062a \u062f\u0631 Docker Compose\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u0627\u06cc\u062f \u0628\u0627 \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0627\u06af\u0631 \u0646\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633 db \u0627\u0633\u062a\u060c \u0645\u0642\u062f\u0627\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0646\u06cc\u0632 \u0628\u0627\u06cc\u062f db \u0628\u0627\u0634\u062f\u060c \u0646\u0647 localhost. \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc Docker \u067e\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a Image\u0647\u0627\u060c Container\u0647\u0627\u06cc \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647 \u0648 \u06a9\u0634 \u0633\u0627\u062e\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0641\u0636\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0645\u0635\u0631\u0641 \u06a9\u0646\u0646\u062f. \u0627\u0628\u062a\u062f\u0627 \u0645\u06cc\u0632\u0627\u0646 \u0645\u0635\u0631\u0641 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f: docker system df \u0628\u0631\u0627\u06cc \u067e\u0627\u06a9 \u0633\u0627\u0632\u06cc \u0645\u0646\u0627\u0628\u0639 \u0628\u062f\u0648\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc docker container prune\u060c docker image prune \u0648 docker builder prune \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u067e\u06cc\u0634 \u0627\u0632 \u067e\u0627\u06a9 \u0633\u0627\u0632\u06cc\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u062f\u0627\u062f\u0647 \u06cc\u0627 \u0645\u0646\u0628\u0639 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u067e\u0631\u0648\u0698\u0647 \u062d\u0630\u0641 \u0646\u0645\u06cc \u0634\u0648\u062f. \u06a9\u0627\u0631\u0628\u0631\u062f Docker \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0648 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u062f\u0627\u06a9\u0631 \u0641\u0642\u0637 \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0645\u062e\u0635\u0648\u0635 \u0645\u062f\u06cc\u0631\u0627\u0646 \u0633\u0631\u0648\u0631 \u0646\u06cc\u0633\u062a. \u062a\u06cc\u0645 \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0648 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0622\u0646 \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0645\u062e\u062a\u0644\u0641 \u067e\u0631\u0648\u0698\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f. \u0628\u0631\u062e\u06cc \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc \u0645\u0647\u0645 \u0639\u0628\u0627\u0631\u062a \u0647\u0633\u062a\u0646\u062f \u0627\u0632: \u0633\u0627\u062e\u062a \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645 \u0627\u062c\u0631\u0627\u06cc \u0646\u0633\u062e\u0647 \u0645\u0634\u062e\u0635 PHP\u060c Node.js\u060c Python \u06cc\u0627 .NET \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u06cc\u0639 MySQL\u060c PostgreSQL\u060c Redis \u0648 Elasticsearch \u0622\u0632\u0645\u0627\u06cc\u0634 \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u0646\u0633\u062e\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f CI\/CD \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0646\u0633\u062e\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0641\u0631\u0645\u0627 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06a9\u0646\u062a\u0631\u0644 \u0634\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0631\u0648\u06cc \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u062a\u0648\u0633\u0639\u0647 \u0633\u0627\u062f\u0647 \u06a9\u0631\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0648\u0631\u0648\u062f \u0627\u0639\u0636\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u062a\u06cc\u0645 \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u062a\u06cc\u0645 \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u062f WordPress\u060c MySQL \u0648 \u0627\u0628\u0632\u0627\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 Compose \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u062f. \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647\u060c \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u0627\u06cc \u0639\u0636\u0648 \u062c\u062f\u06cc\u062f \u062a\u06cc\u0645 \u0628\u0647 \u062c\u0627\u06cc \u0686\u0646\u062f \u0633\u0627\u0639\u062a \u062a\u0646\u0638\u06cc\u0645 \u062f\u0633\u062a\u06cc\u060c \u0628\u0627 \u0686\u0646\u062f \u062f\u0633\u062a\u0648\u0631 \u0645\u0634\u062e\u0635 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f. \u0622\u06cc\u0627 Docker \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u061f Docker \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0646\u0635\u0628 \u062f\u0627\u06a9\u0631 \u0628\u0647 \u062a\u0646\u0647\u0627\u06cc\u06cc \u06cc\u06a9 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0648 \u0627\u0645\u0646 \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062d\u0631\u0641\u0647 \u0627\u06cc \u0628\u0627\u06cc\u062f \u0645\u0648\u0636\u0648\u0639\u0627\u062a \u0632\u06cc\u0631 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u0634\u0648\u0646\u062f: \u0627\u0645\u0646\u06cc\u062a Image\u0647\u0627 \u0648 \u0628\u0631\u0631\u0633\u06cc \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a Secret\u0647\u0627 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u062b\u0628\u062a \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u062a\u0647\u06cc\u0647 \u0646\u0633\u062e\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0645\u0627\u0646\u06cc\u062a\u0648\u0631\u06cc\u0646\u06af \u0645\u0635\u0631\u0641 \u0645\u0646\u0627\u0628\u0639 \u0648 \u0633\u0644\u0627\u0645\u062a \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646&#8230;<\/p>\n","protected":false},"author":1,"featured_media":113,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,11,9,10,7,12,13],"tags":[71,60,72,73,74],"class_list":["post-112","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3","category-11","category-9","category-10","category-7","category-12","category-13","tag-docker","tag-60","tag--docker","tag-73","tag-74"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.9 (Yoast SEO v28.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631 | \u0646\u0648\u06cc\u0646 \u0647\u0627\u0628<\/title>\n<meta name=\"description\" content=\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc\u061b \u0628\u0627 \u0646\u0635\u0628 Docker\u060c \u0645\u0641\u0627\u0647\u06cc\u0645 Image \u0648 Container\u060c \u0633\u0627\u062e\u062a Dockerfile\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a Volume \u0648 Network \u0648 \u06a9\u0627\u0631 \u0628\u0627 Docker Compose \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tarahanenovin.ir\/blog\/\u0622\u0645\u0648\u0632\u0634-docker-\u0627\u0632-\u0635\u0641\u0631-\u062a\u0627-\u0627\u062c\u0631\u0627\u06cc-\u067e\u0631\u0648\u0698\u0647-\u0648\u0627\u0642\u0639\u06cc-\u0628\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631\" \/>\n<meta property=\"og:description\" content=\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631 | \u0646\u0648\u06cc\u0646 \u0647\u0627\u0628\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tarahanenovin.ir\/blog\/\u0622\u0645\u0648\u0632\u0634-docker-\u0627\u0632-\u0635\u0641\u0631-\u062a\u0627-\u0627\u062c\u0631\u0627\u06cc-\u067e\u0631\u0648\u0698\u0647-\u0648\u0627\u0642\u0639\u06cc-\u0628\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0646\u0648\u06cc\u0646 \u0647\u0627\u0628\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-17T15:25:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/docker-facebook.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1410\" \/>\n\t<meta property=\"og:image:height\" content=\"738\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mahdi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mahdi\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/\"},\"author\":{\"name\":\"Mahdi\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#\\\/schema\\\/person\\\/582f1d78abbf461bad6961cc98ec0725\"},\"headline\":\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631\",\"datePublished\":\"2026-07-17T15:25:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/\"},\"wordCount\":306,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/docker-facebook.png\",\"keywords\":[\"Docker\",\"\u0622\u0645\u0648\u0632\u0634\",\"\u0622\u0645\u0648\u0632\u0634 Docker\",\"\u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631\",\"\u062f\u0627\u06a9\u0631\"],\"articleSection\":[\"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\",\"\u0628\u06a9\u200c\u0627\u0646\u062f\",\"\u0637\u0631\u0627\u062d\u06cc \u0648\u0628\",\"\u0641\u0631\u0627\u0646\u062a\u200c\u0627\u0646\u062f\",\"\u0645\u0639\u0631\u0641\u06cc \u0627\u0628\u0632\u0627\u0631\",\"\u0645\u0648\u0628\u0627\u06cc\u0644\",\"\u0648\u06cc\u0646\u062f\u0648\u0632\"],\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/\",\"url\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/\",\"name\":\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631 | \u0646\u0648\u06cc\u0646 \u0647\u0627\u0628\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/docker-facebook.png\",\"datePublished\":\"2026-07-17T15:25:43+00:00\",\"description\":\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc\u061b \u0628\u0627 \u0646\u0635\u0628 Docker\u060c \u0645\u0641\u0627\u0647\u06cc\u0645 Image \u0648 Container\u060c \u0633\u0627\u062e\u062a Dockerfile\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a Volume \u0648 Network \u0648 \u06a9\u0627\u0631 \u0628\u0627 Docker Compose \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/docker-facebook.png\",\"contentUrl\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/docker-facebook.png\",\"width\":1410,\"height\":738},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/\",\"name\":\"\u0646\u0648\u06cc\u0646 \u0647\u0627\u0628\",\"description\":\"\u0628\u0644\u0627\u06af \u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#organization\",\"name\":\"\u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646\",\"alternateName\":\"TNVN\",\"url\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/logo-1.png\",\"contentUrl\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/logo-1.png\",\"width\":114,\"height\":27,\"caption\":\"\u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/#\\\/schema\\\/person\\\/582f1d78abbf461bad6961cc98ec0725\",\"name\":\"Mahdi\",\"sameAs\":[\"https:\\\/\\\/tarahanenovin.ir\\\/blog\"],\"url\":\"https:\\\/\\\/tarahanenovin.ir\\\/blog\\\/author\\\/adminwp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631 | \u0646\u0648\u06cc\u0646 \u0647\u0627\u0628","description":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc\u061b \u0628\u0627 \u0646\u0635\u0628 Docker\u060c \u0645\u0641\u0627\u0647\u06cc\u0645 Image \u0648 Container\u060c \u0633\u0627\u062e\u062a Dockerfile\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a Volume \u0648 Network \u0648 \u06a9\u0627\u0631 \u0628\u0627 Docker Compose \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f.","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:\/\/tarahanenovin.ir\/blog\/\u0622\u0645\u0648\u0632\u0634-docker-\u0627\u0632-\u0635\u0641\u0631-\u062a\u0627-\u0627\u062c\u0631\u0627\u06cc-\u067e\u0631\u0648\u0698\u0647-\u0648\u0627\u0642\u0639\u06cc-\u0628\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631","og_description":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631 | \u0646\u0648\u06cc\u0646 \u0647\u0627\u0628","og_url":"https:\/\/tarahanenovin.ir\/blog\/\u0622\u0645\u0648\u0632\u0634-docker-\u0627\u0632-\u0635\u0641\u0631-\u062a\u0627-\u0627\u062c\u0631\u0627\u06cc-\u067e\u0631\u0648\u0698\u0647-\u0648\u0627\u0642\u0639\u06cc-\u0628\/","og_site_name":"\u0646\u0648\u06cc\u0646 \u0647\u0627\u0628","article_published_time":"2026-07-17T15:25:43+00:00","og_image":[{"width":1410,"height":738,"url":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/docker-facebook.png","type":"image\/png"}],"author":"Mahdi","twitter_card":"summary_large_image","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"Mahdi","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"17 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#article","isPartOf":{"@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/"},"author":{"name":"Mahdi","@id":"https:\/\/tarahanenovin.ir\/blog\/#\/schema\/person\/582f1d78abbf461bad6961cc98ec0725"},"headline":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631","datePublished":"2026-07-17T15:25:43+00:00","mainEntityOfPage":{"@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/"},"wordCount":306,"commentCount":0,"publisher":{"@id":"https:\/\/tarahanenovin.ir\/blog\/#organization"},"image":{"@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#primaryimage"},"thumbnailUrl":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/docker-facebook.png","keywords":["Docker","\u0622\u0645\u0648\u0632\u0634","\u0622\u0645\u0648\u0632\u0634 Docker","\u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u06a9\u0631","\u062f\u0627\u06a9\u0631"],"articleSection":["\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc","\u0628\u06a9\u200c\u0627\u0646\u062f","\u0637\u0631\u0627\u062d\u06cc \u0648\u0628","\u0641\u0631\u0627\u0646\u062a\u200c\u0627\u0646\u062f","\u0645\u0639\u0631\u0641\u06cc \u0627\u0628\u0632\u0627\u0631","\u0645\u0648\u0628\u0627\u06cc\u0644","\u0648\u06cc\u0646\u062f\u0648\u0632"],"inLanguage":"fa-IR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/","url":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/","name":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631 | \u0646\u0648\u06cc\u0646 \u0647\u0627\u0628","isPartOf":{"@id":"https:\/\/tarahanenovin.ir\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#primaryimage"},"image":{"@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#primaryimage"},"thumbnailUrl":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/docker-facebook.png","datePublished":"2026-07-17T15:25:43+00:00","description":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc\u061b \u0628\u0627 \u0646\u0635\u0628 Docker\u060c \u0645\u0641\u0627\u0647\u06cc\u0645 Image \u0648 Container\u060c \u0633\u0627\u062e\u062a Dockerfile\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a Volume \u0648 Network \u0648 \u06a9\u0627\u0631 \u0628\u0627 Docker Compose \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f.","breadcrumb":{"@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#primaryimage","url":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/docker-facebook.png","contentUrl":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/docker-facebook.png","width":1410,"height":738},{"@type":"BreadcrumbList","@id":"https:\/\/tarahanenovin.ir\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-docker-%d8%a7%d8%b2-%d8%b5%d9%81%d8%b1-%d8%aa%d8%a7-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%88%d8%a7%d9%82%d8%b9%db%8c-%d8%a8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/tarahanenovin.ir\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634 Docker \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627 \u062f\u0627\u06a9\u0631"}]},{"@type":"WebSite","@id":"https:\/\/tarahanenovin.ir\/blog\/#website","url":"https:\/\/tarahanenovin.ir\/blog\/","name":"\u0646\u0648\u06cc\u0646 \u0647\u0627\u0628","description":"\u0628\u0644\u0627\u06af \u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646","publisher":{"@id":"https:\/\/tarahanenovin.ir\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tarahanenovin.ir\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":"Organization","@id":"https:\/\/tarahanenovin.ir\/blog\/#organization","name":"\u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646","alternateName":"TNVN","url":"https:\/\/tarahanenovin.ir\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/tarahanenovin.ir\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/logo-1.png","contentUrl":"https:\/\/tarahanenovin.ir\/blog\/wp-content\/uploads\/2026\/07\/logo-1.png","width":114,"height":27,"caption":"\u0637\u0631\u0627\u062d\u0627\u0646 \u0646\u0648\u06cc\u0646"},"image":{"@id":"https:\/\/tarahanenovin.ir\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/tarahanenovin.ir\/blog\/#\/schema\/person\/582f1d78abbf461bad6961cc98ec0725","name":"Mahdi","sameAs":["https:\/\/tarahanenovin.ir\/blog"],"url":"https:\/\/tarahanenovin.ir\/blog\/author\/adminwp\/"}]}},"_links":{"self":[{"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":1,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"predecessor-version":[{"id":114,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/posts\/112\/revisions\/114"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/media\/113"}],"wp:attachment":[{"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tarahanenovin.ir\/blog\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}