{"id":25528,"date":"2023-06-03T11:31:44","date_gmt":"2023-06-03T08:01:44","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/"},"modified":"2023-06-03T11:31:44","modified_gmt":"2023-06-03T08:01:44","slug":"docker-for-beginners-crafting-your-backend-development-environment-38oo","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/","title":{"rendered":"Docker \u0628\u0631\u0627\u06cc \u0645\u0628\u062a\u062f\u06cc\u0627\u0646: \u0627\u06cc\u062c\u0627\u062f \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 Backend \u0634\u0645\u0627"},"content":{"rendered":"<div data-article-id=\"1490223\" id=\"article-body\">\n<p>\u0645\u0646 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u062f\u0631 \u06cc\u06a9 \u0627\u0633\u062a\u0627\u0631\u062a\u200c\u0622\u067e \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0627\u0648\u0644\u06cc\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0628\u0647 \u0642\u062f\u0631\u06cc \u0631\u0648\u06cc \u062c\u0646\u0628\u0647 \u062a\u0647\u0627\u062c\u0645\u06cc \u0686\u06cc\u0632\u0647\u0627\u060c \u0645\u0627\u0646\u0646\u062f \u062a\u0648\u0633\u0639\u0647 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645\u060c \u06a9\u0647 \u0627\u0632 \u062f\u0641\u0627\u0639 \u062e\u0648\u062f\u060c \u06cc\u0639\u0646\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u063a\u0641\u0644\u062a \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645.<\/p>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u062e\u0627\u0635\u060c \u0645\u0627 \u0647\u0646\u0648\u0632 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0631\u0627 \u0645\u062d\u062f\u0648\u062f \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645\u060c \u0648 \u0628\u0647 \u0647\u0645\u0627\u0646 DB (RDS) \u062f\u0631 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0648 \u0645\u062d\u0644\u06cc \u0627\u0631\u062c\u0627\u0639 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645\u060c \u06a9\u0647 \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u0645\u0648\u0627\u0646\u0639 \u0642\u0627\u0628\u0644\u200c\u062a\u0648\u062c\u0647\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062a\u06cc\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f &#8211; \u0628\u0644\u0647\u060c \u0627\u06cc\u0646 \u062a\u0627 \u062d\u062f\u0648\u062f\u06cc \u06a9\u0645\u062f\u06cc \u0627\u0632 \u062e\u0637\u0627\u0647\u0627 \u0627\u0633\u062a.<\/p>\n<p>\u0645\u0646 \u06a9\u0647 \u062f\u0631 \u062f\u0631\u062c\u0647 \u0627\u0648\u0644 \u0645\u0633\u0626\u0648\u0644 \u0628\u062e\u0634 \u0645\u0642\u062f\u0645\u0627\u062a\u06cc \u0648 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u0628\u0648\u062f\u0645\u060c \u0628\u0627 Docker \u0622\u0634\u0646\u0627\u06cc\u06cc \u0686\u0646\u062f\u0627\u0646\u06cc \u0646\u062f\u0627\u0634\u062a\u0645.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0645\u062a\u0648\u062c\u0647 \u0634\u062f\u0645 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u0632 \u0647\u0645 \u067e\u0627\u0634\u06cc\u062f\u0646 \u062a\u0648\u0633\u0639\u0647 \u062a\u06cc\u0645 \u0645\u0627\u060c \u0645\u0639\u0631\u0641\u06cc Docker \u0628\u0647 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u0627 \u0628\u0647 \u06cc\u06a9 \u0636\u0631\u0648\u0631\u062a \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0627\u0647\u062f\u0627\u0641 \u0627\u0635\u0644\u06cc \u0627\u06cc\u0646 \u062a\u0635\u0645\u06cc\u0645 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<ol>\n<li>\u06a9\u0627\u0647\u0634 \u0628\u0627\u0631 \u0631\u0648\u06cc RDS \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 (\u0639\u062f\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 RDS).<\/li>\n<li>\u062d\u0630\u0641 \u0627\u062b\u0631\u0627\u062a \u0645\u0647\u0627\u062c\u0631\u062a \u0628\u06cc\u0646 \u0627\u0639\u0636\u0627\u06cc \u062a\u06cc\u0645 (\u062d\u0644 \u0645\u0634\u06a9\u0644 DB \u0645\u0634\u062a\u0631\u06a9).<\/li>\n<li>\u062a\u0633\u0631\u06cc\u0639 \u062f\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 (\u062a\u0633\u0631\u06cc\u0639 \u062f\u0631 \u0631\u0648\u0646\u062f \u0633\u0627\u062e\u062a \u0648 \u0633\u0627\u0632).<\/li>\n<li>\u0628\u0647\u0628\u0648\u062f \u062f\u0631\u062f\u0633\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u0633\u0631\u0648\u0631 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u062a\u0627\u06cc\u0645 \u0627\u0648\u062a \u0647\u0627\u06cc \u0628\u06cc\u06a9\u0627\u0631.<\/li>\n<\/ol>\n<p>\u0645\u0646 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0647 \u0627\u0645 \u06a9\u0647 DB \u0645\u0648\u062c\u0648\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u06cc\u06a9 DB \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u0645 \u0648 \u0627\u0632 docker-compose \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc backend \u0648 DB \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645.  \u0645\u0646 \u0631\u0648\u0634 \u0631\u0627 \u062f\u0631 \u0632\u06cc\u0631 \u0634\u0631\u062d \u062f\u0627\u062f\u0647 \u0627\u0645.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0627\u06a9\u0631 \u0631\u0627 \u062f\u0631 \u0622\u063a\u0648\u0634 \u0628\u06af\u06cc\u0631\u06cc\u0645 \u0648 \u06a9\u0645\u06cc \u0647\u0645\u0627\u0647\u0646\u06af\u06cc \u0631\u0627 \u0628\u0647 \u0631\u0648\u0646\u062f \u062a\u0648\u0633\u0639\u0647 \u062a\u06cc\u0645 \u062e\u0648\u062f \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u06cc\u0645!<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#1_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%D9%85%D8%B1%D8%AA%D8%A8%D8%B7_%D8%A8%D8%A7_Docker\" >1. \u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_Dockerfile\" >\u0627\u06cc\u062c\u0627\u062f Dockerfile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_docker-composeyml\" >\u0627\u06cc\u062c\u0627\u062f docker-compose.yml<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#%DB%8C%D8%A7%D8%AF%D8%AF%D8%A7%D8%B4%D8%AA_1\" >\u06cc\u0627\u062f\u062f\u0627\u0634\u062a 1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#%D8%AA%D8%A8%D8%B5%D8%B1%D9%87_2\" >\u062a\u0628\u0635\u0631\u0647 2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#%D9%86%DA%A9%D8%AA%D9%87_3\" >\u0646\u06a9\u062a\u0647 3<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#2_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C_%D9%85%D8%AD%DB%8C%D8%B7%DB%8C\" >2. \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#3_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1\" >3. \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#4_MySQL_Workbench_Setup\" >4. MySQL Workbench Setup<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#5_%D8%B5%D8%A7%D8%AF%D8%B1_%DA%A9%D8%B1%D8%AF%D9%86_Dump_%D8%A7%D8%B2_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%D9%85%D9%88%D8%AC%D9%88%D8%AF\" >5. \u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 Dump \u0627\u0632 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0645\u0648\u062c\u0648\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/docker-for-beginners-crafting-your-backend-development-environment-38oo\/#6_%D9%88%D8%A7%D8%B1%D8%AF_%DA%A9%D8%B1%D8%AF%D9%86_Dump_%D8%A8%D9%87_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1\" >6. \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 Dump \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"1_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%D9%85%D8%B1%D8%AA%D8%A8%D8%B7_%D8%A8%D8%A7_Docker\"><\/span>\n<p>  1. \u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 Docker<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u0647\u0633\u062a\u06cc\u0645 \u06a9\u0647 \u0634\u0627\u0645\u0644 \u0686\u0646\u062f\u06cc\u0646 \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f (<code>.\/frontend\/<\/code>) \u0648 \u0628\u0627\u0637\u0646 (<code>.\/backend\/<\/code>)\u060c \u062f\u0631 monorepo (\u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f React \u0627\u0633\u062a\u060c \u0628\u06a9 \u0627\u0646\u062f NestJS \u0627\u0633\u062a).<\/p>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 docker-compose \u0628\u0647 \u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u062c\u0645\u0639\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645\u060c \u0628\u0631\u062e\u06cc \u0627\u0632 \u0641\u0631\u0627\u0646\u062a\u200c\u0627\u0646\u062f\u0647\u0627 \u062f\u0631 \u062d\u0627\u0644 \u062a\u0648\u0633\u0639\u0647 \u0641\u0639\u0627\u0644 \u0646\u06cc\u0633\u062a\u0646\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631\u060c \u0645\u0627 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0647\u200c\u0627\u06cc\u0645 \u062a\u0646\u0647\u0627 \u0628\u0627\u0637\u0646 \u0648 DB \u0644\u0627\u0632\u0645 \u0631\u0627 \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc Docker \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_Dockerfile\"><\/span>\n<p>  \u0627\u06cc\u062c\u0627\u062f Dockerfile<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f Dockerfile \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 (<code>Dockerfile.dev<\/code>) \u0628\u0631\u0627\u06cc \u0628\u0627\u0637\u0646\u060c \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight docker\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> node:18.15.0<\/span>\n\n<span class=\"c\"># Set timezone to Tokyo (JST)<\/span>\n<span class=\"k\">ENV<\/span><span class=\"s\"> TZ=Asia\/Tokyo<\/span>\n<span class=\"k\">RUN <\/span><span class=\"nb\">ln<\/span> <span class=\"nt\">-snf<\/span> \/usr\/share\/zoneinfo\/<span class=\"nv\">$TZ<\/span> \/etc\/localtime <span class=\"o\">&amp;&amp;<\/span> <span class=\"nb\">echo<\/span> <span class=\"nv\">$TZ<\/span> <span class=\"o\">&gt;<\/span> \/etc\/timezone\n\n<span class=\"k\">WORKDIR<\/span><span class=\"s\"> \/app<\/span>\n\n<span class=\"c\"># Copy package dependencies<\/span>\n<span class=\"k\">COPY<\/span><span class=\"s\"> package*.json .\/<\/span>\n\n<span class=\"c\"># Ignore prepare script to avoid husky install errors<\/span>\n<span class=\"k\">RUN <\/span>yarn <span class=\"nb\">install<\/span> <span class=\"nt\">--ignore-scripts<\/span>\n\n<span class=\"k\">EXPOSE<\/span><span class=\"s\"> 8000<\/span>\n\n<span class=\"k\">CMD<\/span><span class=\"s\"> [\"yarn\", \"start:dev\"]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646\u0637\u0642\u0647 \u0632\u0645\u0627\u0646\u06cc \u0631\u0648\u06cc JST \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a \u0632\u06cc\u0631\u0627 DB \u0645\u0648\u062c\u0648\u062f (RDS) \u062f\u0631 JST \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0647\u0645\u0686\u0646\u06cc\u0646\u060c \u0645\u0627 \u0645\u0634\u06a9\u0644\u06cc \u0628\u0627 \u0634\u06a9\u0633\u062a \u0645\u0631\u062d\u0644\u0647 \u0646\u0635\u0628 \u0647\u0627\u0633\u06a9\u06cc \u062f\u0627\u0634\u062a\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0622\u0646 \u0631\u0627 \u0637\u0648\u0631\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0646\u0635\u0628 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0628\u0627 Yarn\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627 \u0631\u0627 \u0646\u0627\u062f\u06cc\u062f\u0647 \u0628\u06af\u06cc\u0631\u062f. <code>--ignore-scripts<\/code> \u06af\u0632\u06cc\u0646\u0647.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_docker-composeyml\"><\/span>\n<p>  \u0627\u06cc\u062c\u0627\u062f docker-compose.yml<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0639\u062f\u060c \u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>docker-compose.yml<\/code> \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u06a9\u0646\u06cc\u062f  \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc backend \u0648 DB (MySQL) \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">3.9\"<\/span>\n\n<span class=\"na\">services<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">backend<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">context<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/backend<\/span>\n      <span class=\"na\">dockerfile<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Dockerfile.dev<\/span>\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">3010:3010\"<\/span> <span class=\"c1\"># Map local and container ports<\/span>\n    <span class=\"na\">depends_on<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">db<\/span> <span class=\"c1\"># Wait for DB service to start<\/span>\n    <span class=\"na\">env_file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/backend\/.env<\/span> <span class=\"c1\"># Specify environment variables<\/span>\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">.\/backend:\/app<\/span> <span class=\"c1\"># Map host and container directories<\/span>\n\n  <span class=\"na\">db<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mysql:8.0.28<\/span>\n    <span class=\"na\">platform<\/span><span class=\"pi\">:<\/span> <span class=\"s\">linux\/x86_64<\/span>\n    <span class=\"na\">container_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">db<\/span>\n    <span class=\"na\">env_file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/backend\/.env<\/span> <span class=\"c1\"># Specify environment variables<\/span>\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">db-data:\/var\/lib\/mysql<\/span> <span class=\"c1\"># Persist data<\/span>\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">3306:3306\"<\/span> <span class=\"c1\"># Map local and container ports<\/span>\n    <span class=\"na\">command<\/span><span class=\"pi\">:<\/span> <span class=\"s\">--default-authentication-plugin=mysql_native_password --sql_mode=NO_ENGINE_SUBSTITUTION<\/span>\n\n<span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">db-data<\/span><span class=\"pi\">:<\/span> <span class=\"c1\"># Define volume to persist DB data<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>Dockerfile.dev<\/code> \u0648 <code>docker-compose.yml<\/code> \u0645\u0627 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627\u0637\u0646 \u0648 DB \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0627\u06af\u0631 \u0628\u0647 \u06cc\u06a9 frontend \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 Dockerfile \u062f\u0631 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>.\/frontend\/<\/code> \u0645\u0631\u0627\u062d\u0644 \u0645\u0634\u0627\u0628\u0647 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f \u0648 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>docker-compose.yml<\/code> \u0628\u0631\u0627\u06cc \u062a\u0637\u0628\u06cc\u0642 \u0627\u06cc\u0646.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%DB%8C%D8%A7%D8%AF%D8%AF%D8%A7%D8%B4%D8%AA_1\"><\/span>\n<p>  \u06cc\u0627\u062f\u062f\u0627\u0634\u062a 1<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u062f\u0631 MySQL\u060c \u0628\u0633\u062a\u0647 \u0628\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc DB\u060c \u06cc\u06a9 \u0641\u06cc\u0644\u062f \u0627\u0632 \u0646\u0648\u0639 DATETIME \u0628\u062f\u0648\u0646 \u0645\u0642\u062f\u0627\u0631 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0648\u06cc \u0622\u0646 \u062a\u0646\u0638\u06cc\u0645 \u0634\u0648\u062f. <code>0000-00-00 00:00:00<\/code>.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u06cc\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 DB \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u067e\u0633 \u0627\u0632 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062e\u0637\u0627\u0647\u0627\u06cc INSERT \u0627\u06cc\u062c\u0627\u062f \u0634\u062f.<\/p>\n<p>\u0645\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc MySQL \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight sql\"><code><span class=\"k\">SHOW<\/span> <span class=\"n\">VARIABLES<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0628\u0631\u0631\u0633\u06cc <code>sql_mode<\/code>\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u06cc \u0631\u0627 \u0628\u06cc\u0646 DB \u0638\u0631\u0641 \u0648 DB \u0645\u0648\u062c\u0648\u062f (RDS) \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0645.  \u0644\u0630\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0645 <code>--sql_mode=NO_ENGINE_SUBSTITUTION<\/code> \u0628\u0647 <code>db<\/code> <code>command<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Container DB\nONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\n\n# Existing DB (RDS)\nNO_ENGINE_SUBSTITUTION\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AA%D8%A8%D8%B5%D8%B1%D9%87_2\"><\/span>\n<p>  \u062a\u0628\u0635\u0631\u0647 2<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u067e\u0633 \u0627\u0632 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 \u0642\u0633\u0645\u062a \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0645\u062c\u062f\u062f \u0646\u0634\u062f\u0646\u062f.  \u0644\u0630\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0645 <code>.\/backend:\/app<\/code> \u0628\u0647 \u062d\u062c\u0645 \u0647\u0627\u06cc \u0628\u0627\u0637\u0646\u060c \u0646\u0642\u0634\u0647 \u0628\u0631\u062f\u0627\u0631\u06cc \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u0647\u0627\u0633\u062a \u0648 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D9%86%DA%A9%D8%AA%D9%87_3\"><\/span>\n<p>  \u0646\u06a9\u062a\u0647 3<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0642\u0628\u0644\u0627\u064b \u0627\u0634\u0627\u0631\u0647 \u06a9\u0631\u062f\u0645 \u06a9\u0647 \u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0648\u0646\u0648\u0631\u067e\u0648 \u0647\u0633\u062a\u06cc\u0645 \u0648 \u0641\u0631\u0627\u0646\u062a\u200c\u0627\u0646\u062f \u0631\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u0646\u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0627\u062d\u062a\u0645\u0627\u0644 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 frontend \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u0634\u0648\u062f\u060c \u0645\u0646 \u0622\u0646 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0645 <code>docker-compose.yml<\/code> \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u06cc\u0634\u0647  \u0628\u0631\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc <code>.\/backend\/Dockerfile.dev<\/code>\u060c \u0627\u06cc\u0646 \u062c\u0645\u0644\u0647 \u0631\u0627 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062f\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">build<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">context<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/backend<\/span>\n  <span class=\"na\">dockerfile<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Dockerfile.dev<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u062a\u0635\u0627\u0644 MySQL \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647 \u0627\u0645 <code>env_file: .\/backend\/.env<\/code>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"2_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C_%D9%85%D8%AD%DB%8C%D8%B7%DB%8C\"><\/span>\n<p>  2. \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc DB \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>.\/backend\/.env<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc (\u0647\u0631 \u0645\u0642\u062f\u0627\u0631).<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>MYSQL_ROOT_PASSWORD=\nMYSQL_DATABASE=\nMYSQL_USER=\nMYSQL_PASSWORD=\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>MYSQL_DATABASE=db_local\nMYSQL_USER=admin\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"3_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1\"><\/span>\n<p>  3. \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u06cc\u0634\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 (\u0628\u06a9\u200c\u0627\u0646\u062f\u060c DB) \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nv\">$ <\/span>docker-compose up\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"4_MySQL_Workbench_Setup\"><\/span>\n<p>  4. MySQL Workbench Setup<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 MySQL Workbench \u0628\u0647 MySQL DB \u062f\u0631 Docker \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f.<\/p>\n<ol>\n<li>MySQL Workbench \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u0628\u0631 \u0631\u0648\u06cc [+] \u062f\u0631 \u0644\u06cc\u0633\u062a \u0627\u062a\u0635\u0627\u0644\u0627\u062a MySQL \u062f\u0631 \u0633\u0645\u062a \u0686\u067e \u0635\u0641\u062d\u0647 \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/li>\n<li>\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u062a\u0635\u0627\u0644 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f:\n<ul>\n<li>\u0646\u0627\u0645 \u0627\u062a\u0635\u0627\u0644: \u0647\u0631 \u0646\u0627\u0645 \u0627\u062a\u0635\u0627\u0644 (\u0645\u062b\u0627\u0644: db-local-docker)<\/li>\n<li>\u0646\u0627\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646: <code>localhost<\/code> (\u06cc\u0627 \u0622\u062f\u0631\u0633 IP \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0647 Docker \u062f\u0631 \u0622\u0646 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f)<\/li>\n<li>\u0628\u0646\u062f\u0631: <code>3306<\/code> (\u0634\u0645\u0627\u0631\u0647 \u067e\u0648\u0631\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a <code>docker-compose.yml<\/code>)<\/li>\n<li>\u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc: MYSQL_USER \u0627\u0632 <code>.\/backend\/.env<\/code>\n<\/li>\n<li>\u0631\u0645\u0632 \u0639\u0628\u0648\u0631: MYSQL_PASSWORD \u0627\u0632 <code>.\/backend\/.env<\/code>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u06a9\u0644\u06cc\u06a9 [Test Connection] \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u062a\u0633\u062a \u0627\u062a\u0635\u0627\u0644  \u0627\u06af\u0631 \u0645\u0634\u06a9\u0644\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f\u060c \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f [OK] \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0627\u062a\u0635\u0627\u0644<\/li>\n<\/ol>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"5_%D8%B5%D8%A7%D8%AF%D8%B1_%DA%A9%D8%B1%D8%AF%D9%86_Dump_%D8%A7%D8%B2_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%D9%85%D9%88%D8%AC%D9%88%D8%AF\"><\/span>\n<p>  5. \u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 Dump \u0627\u0632 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0645\u0648\u062c\u0648\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Dump (\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062c\u062f\u0648\u0644) \u0631\u0627 \u0627\u0632 RDS \u0628\u0631\u0627\u06cc MySQL DB \u06a9\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0635\u0627\u062f\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0634\u0645\u0627 \u0627\u0632 \u067e\u0648\u0631\u062a \u0645\u0627\u0634\u06cc\u0646 \u0645\u062d\u0644\u06cc \u0645\u062a\u0635\u0644 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f (<code>&lt;local_port&gt;<\/code>) \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0633\u0631\u0648\u0631 \u067e\u0631\u0634 (<code>&lt;ssh_user&gt;@&lt;remote_server_ip&gt;<\/code>) \u0628\u0647 \u067e\u0648\u0631\u062a RDS (<code>&lt;remote_database_port&gt;<\/code>) (\u062a\u0648\u0646\u0644 SSH).<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062a\u062f\u0627\u062e\u0644 \u067e\u0648\u0631\u062a\u060c \u0645\u0627\u0646\u0646\u062f \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 MySQL \u0627\u0632 \u0642\u0628\u0644 \u0631\u0648\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0645\u062d\u0644\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a\u060c \u0627\u0632 \u067e\u0648\u0631\u062a \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0627\u06cc <code>local_port<\/code> \u0648 <code>remote_database_port<\/code> \u0627\u06cc\u0646 \u0628\u0627\u0631.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nv\">$ <\/span>ssh <span class=\"nt\">-f<\/span> <span class=\"nt\">-N<\/span> <span class=\"nt\">-L<\/span> &lt;local_port&gt;:&lt;remote_database_url&gt;:&lt;remote_database_port&gt; <span class=\"nt\">-i<\/span> &lt;path_to_your_ssh_key&gt; &lt;ssh_user&gt;@&lt;remote_server_ip&gt;\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>local_port: \u067e\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0631 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c 3307)<\/li>\n<li>remote_database_url: URL \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627\u0647 \u062f\u0648\u0631 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 database.db.coedadadas22.ap-northeast-1.rds.amazonaws.com)<\/li>\n<li>remote_database_port: \u067e\u0648\u0631\u062a\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c 3306)<\/li>\n<li>path_to_your_ssh_key: \u0645\u0633\u06cc\u0631\u06cc \u0628\u0647 \u06a9\u0644\u06cc\u062f SSH \u0634\u0645\u0627 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c ~\/.ssh\/db-pem-key.pem)<\/li>\n<li>ssh_user: \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0631\u0627\u0647 \u062f\u0648\u0631 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c ec2-user)<\/li>\n<li>remote_server_ip: \u0622\u062f\u0631\u0633 IP \u0633\u0631\u0648\u0631 \u0631\u0627\u0647 \u062f\u0648\u0631 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c 54.168.32.10)<\/li>\n<\/ul>\n<p>\u0628\u0647 \u067e\u0648\u0631\u062a \u0648\u0635\u0644 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f (<code>&lt;local_port&gt;<\/code>) \u0627\u0632 \u0644\u0648\u06a9\u0627\u0644 \u0647\u0627\u0633\u062a \u0648 \u0646\u0648\u0634\u062a\u0646 \u062a\u0645\u0627\u0645 \u0646\u0627\u0645 \u062c\u062f\u0648\u0644 DB \u0645\u0631\u0628\u0648\u0637\u0647 (<code>&lt;database_name&gt;<\/code>) \u062f\u0631 RDS \u0628\u0647 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc (<code>&lt;output_file&gt;<\/code>).<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>\uff04 mysql <span class=\"nt\">-h<\/span> &lt;localhost_ip&gt; <span class=\"nt\">-P<\/span> &lt;local_port&gt; <span class=\"nt\">-u<\/span> &lt;username&gt; <span class=\"nt\">-p<\/span> &lt;database_name&gt; <span class=\"nt\">-e<\/span> <span class=\"s1\">'show tables'<\/span> | <span class=\"nb\">tail<\/span> <span class=\"nt\">-n<\/span> +2 <span class=\"o\">&gt;<\/span> &lt;output_file&gt;\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>localhost_ip: \u0622\u062f\u0631\u0633 IP \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a MySQL \u062f\u0631 \u0622\u0646 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f (\u0645\u062b\u0644\u0627\u064b 127.0.0.1)<\/li>\n<li>local_port: \u067e\u0648\u0631\u062a \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062d\u0644\u06cc \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0627\u0631\u0633\u0627\u0644 \u067e\u0648\u0631\u062a SSH (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c 3307)<\/li>\n<li>\u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc: \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 (\u0645\u062b\u0644\u0627\u064b admin)<\/li>\n<li>database_name: \u0646\u0627\u0645 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 db-prod)<\/li>\n<li>output_file: \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0646\u0627\u0645 \u062c\u062f\u0648\u0644 \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0627\u0632 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c all_tables.txt)<\/li>\n<\/ul>\n<p>\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0644\u06cc\u0633\u062a \u062c\u062f\u0627\u0648\u0644\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0635\u0627\u062f\u0631 \u06a9\u0646\u06cc\u062f\u060c \u062a\u062e\u0644\u06cc\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nv\">$ <\/span>mysqldump <span class=\"nt\">-h<\/span> &lt;localhost_ip&gt; <span class=\"nt\">-P<\/span> &lt;local_port&gt; <span class=\"nt\">-u<\/span> &lt;username&gt; <span class=\"nt\">-p<\/span> &lt;database_name&gt; <span class=\"si\">$(<\/span><span class=\"nb\">cat<\/span> &lt;tables_list_file&gt;<span class=\"si\">)<\/span> <span class=\"o\">&gt;<\/span> &lt;output_file&gt;\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>localhost_ip: \u0622\u062f\u0631\u0633 IP \u0645\u06cc\u0632\u0628\u0627\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c 127.0.0.1)<\/li>\n<li>local_port: \u067e\u0648\u0631\u062a\u06cc \u06a9\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0647 \u0622\u0646 \u06af\u0648\u0634 \u0645\u06cc \u062f\u0647\u062f (\u0645\u062b\u0644\u0627\u064b 3307)<\/li>\n<li>\u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc: \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 (\u0645\u062b\u0644\u0627\u064b \u0645\u062f\u06cc\u0631)<\/li>\n<li>database_name: \u0646\u0627\u0645 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 Dump \u0627\u0632 (\u0645\u062b\u0644\u0627\u064b db-prod)<\/li>\n<li>tables_list_file: \u0641\u0627\u06cc\u0644\u06cc \u06a9\u0647 \u062d\u0627\u0648\u06cc \u0644\u06cc\u0633\u062a \u062c\u062f\u0627\u0648\u0644 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 Dump \u0627\u0632 (\u0645\u062b\u0644\u0627 all_tables.txt) \u0627\u0633\u062a.<\/li>\n<li>output_file: \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u062e\u0631\u0648\u062c\u06cc (\u0641\u0627\u06cc\u0644 dump) (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 database_export.sql)<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"6_%D9%88%D8%A7%D8%B1%D8%AF_%DA%A9%D8%B1%D8%AF%D9%86_Dump_%D8%A8%D9%87_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1\"><\/span>\n<p>  6. \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 Dump \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 Dump \u0631\u0627 \u0627\u0632 MySQL Workbench \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<ol>\n<li>MySQL Workbench \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0627\u0632 \u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u0631\u0648\u06cc \u0627\u062a\u0635\u0627\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u062a\u0635\u0627\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0627\u0632 \u0634\u062f\u060c &#8220;Server&#8221; -> &#8220;Data Import&#8221; \u0631\u0627 \u0627\u0632 \u0646\u0648\u0627\u0631 \u0645\u0646\u0648 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0635\u0641\u062d\u0647 &#8220;\u0648\u0627\u0631\u062f\u0627\u062a \u062f\u0627\u062f\u0647&#8221; \u0638\u0627\u0647\u0631 \u0645\u06cc \u0634\u0648\u062f\u060c &#8220;Import from Self-Contained File&#8221; \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f\u060c \u0633\u067e\u0633 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 &#8220;&#8230;&#8221; \u062f\u0631 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0627\u06cc\u0644 SQL \u0631\u0627 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0645\u0642\u0635\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u0627\u0632 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc &#8220;Default Target Schema&#8221; \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 &#8220;\u0634\u0631\u0648\u0639 \u0648\u0627\u0631\u062f\u0627\u062a&#8221; \u062f\u0631 \u0628\u062e\u0634 &#8220;\u067e\u06cc\u0634\u0631\u0641\u062a \u0648\u0627\u0631\u062f\u0627\u062a&#8221; \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/06\/1685779304_372_Docker-\u0628\u0631\u0627\u06cc-\u0645\u0628\u062a\u062f\u06cc\u0627\u0646-\u0627\u06cc\u062c\u0627\u062f-\u0645\u062d\u06cc\u0637-\u062a\u0648\u0633\u0639\u0647-Backend-\u0634\u0645\u0627.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"519\" title=\"\"><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0646 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u062f\u0631 \u06cc\u06a9 \u0627\u0633\u062a\u0627\u0631\u062a\u200c\u0622\u067e \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0627\u0648\u0644\u06cc\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0628\u0647 \u0642\u062f\u0631\u06cc \u0631\u0648\u06cc \u062c\u0646\u0628\u0647 \u062a\u0647\u0627\u062c\u0645\u06cc \u0686\u06cc\u0632\u0647\u0627\u060c \u0645\u0627\u0646\u0646\u062f \u062a\u0648\u0633\u0639\u0647 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645\u060c \u06a9\u0647 \u0627\u0632 \u062f\u0641\u0627\u0639 \u062e\u0648\u062f\u060c \u06cc\u0639\u0646\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u063a\u0641\u0644\u062a \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645. \u0628\u0647 \u0637\u0648\u0631 \u062e\u0627\u0635\u060c \u0645\u0627 \u0647\u0646\u0648\u0632 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0631\u0627 \u0645\u062d\u062f\u0648\u062f \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645\u060c \u0648 \u0628\u0647 \u0647\u0645\u0627\u0646 DB (RDS) \u062f\u0631 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0648 \u0645\u062d\u0644\u06cc &hellip;<\/p>\n","protected":false},"author":2,"featured_media":25529,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-25528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/25528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=25528"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/25528\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/25529"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=25528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=25528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=25528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}