This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1200" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Маршрут безопасного чистого локального запуска Docker</title>
|
||||
<desc id="desc">Вертикальная схема показывает четыре шага: зафиксировать Compose config и логи, классифицировать старое состояние, изменить только выбранный слой и повторить один контрольный маршрут.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop stop-color="#20203c"/>
|
||||
<stop offset="1" stop-color="#303154"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
|
||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="#a5b4fc"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="720" height="1200" rx="36" fill="url(#background)"/>
|
||||
<text x="56" y="72" fill="#f8fafc" font-family="Arial, sans-serif" font-size="32" font-weight="700">Чистый запуск = эксперимент</text>
|
||||
<text x="56" y="108" fill="#d7ddff" font-family="Arial, sans-serif" font-size="21">Удаляем только подтверждённый след</text>
|
||||
|
||||
<rect x="56" y="154" width="608" height="174" rx="20" fill="#263d63" stroke="#93c5fd" stroke-width="2"/>
|
||||
<circle cx="104" cy="204" r="23" fill="#bfdbfe"/>
|
||||
<text x="97" y="212" fill="#172554" font-family="Arial, sans-serif" font-size="22" font-weight="700">1</text>
|
||||
<text x="148" y="206" fill="#ffffff" font-family="Arial, sans-serif" font-size="27" font-weight="700">Снимок до изменения</text>
|
||||
<text x="88" y="252" fill="#dbeafe" font-family="Arial, sans-serif" font-size="20">config · ps · короткие логи</text>
|
||||
<text x="88" y="286" fill="#dbeafe" font-family="Arial, sans-serif" font-size="20">имя локального проекта</text>
|
||||
|
||||
<path d="M360 328 V388" stroke="#a5b4fc" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="56" y="406" width="608" height="184" rx="20" fill="#3d365c" stroke="#c4b5fd" stroke-width="2"/>
|
||||
<circle cx="104" cy="456" r="23" fill="#ddd6fe"/>
|
||||
<text x="97" y="464" fill="#312e81" font-family="Arial, sans-serif" font-size="22" font-weight="700">2</text>
|
||||
<text x="148" y="458" fill="#ffffff" font-family="Arial, sans-serif" font-size="27" font-weight="700">Назвать старый слой</text>
|
||||
<text x="88" y="504" fill="#ede9fe" font-family="Arial, sans-serif" font-size="20">container · image · bind mount</text>
|
||||
<text x="88" y="538" fill="#ede9fe" font-family="Arial, sans-serif" font-size="20">или named volume базы</text>
|
||||
|
||||
<path d="M360 590 V650" stroke="#a5b4fc" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="56" y="668" width="608" height="194" rx="20" fill="#4b3f5f" stroke="#f0abfc" stroke-width="2"/>
|
||||
<circle cx="104" cy="718" r="23" fill="#f5d0fe"/>
|
||||
<text x="97" y="726" fill="#701a75" font-family="Arial, sans-serif" font-size="22" font-weight="700">3</text>
|
||||
<text x="148" y="720" fill="#ffffff" font-family="Arial, sans-serif" font-size="27" font-weight="700">Ограниченное действие</text>
|
||||
<text x="88" y="766" fill="#fae8ff" font-family="Arial, sans-serif" font-size="20">пересобрать web или очистить</text>
|
||||
<text x="88" y="800" fill="#fae8ff" font-family="Arial, sans-serif" font-size="20">только подтверждённый volume</text>
|
||||
<text x="88" y="834" fill="#fde68a" font-family="Arial, sans-serif" font-size="19">данные сначала сохранить или исключить</text>
|
||||
|
||||
<path d="M360 862 V922" stroke="#a5b4fc" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="56" y="940" width="608" height="178" rx="20" fill="#294953" stroke="#5eead4" stroke-width="2"/>
|
||||
<circle cx="104" cy="990" r="23" fill="#99f6e4"/>
|
||||
<text x="97" y="998" fill="#134e4a" font-family="Arial, sans-serif" font-size="22" font-weight="700">4</text>
|
||||
<text x="148" y="992" fill="#ffffff" font-family="Arial, sans-serif" font-size="27" font-weight="700">Повторить один маршрут</text>
|
||||
<text x="88" y="1038" fill="#d1fae5" font-family="Arial, sans-serif" font-size="20">миграция, endpoint или лог</text>
|
||||
<text x="88" y="1072" fill="#d1fae5" font-family="Arial, sans-serif" font-size="20">и зафиксировать вывод</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
@@ -0,0 +1,48 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1180" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Локальное Docker-окружение: код, контейнеры, тома и внутренняя сеть</title>
|
||||
<desc id="desc">Вертикальная схема показывает рабочую копию на хосте, bind mount в контейнер web, отдельный named volume для node_modules, сеть Compose с сервисом db и named volume PostgreSQL.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop stop-color="#0f1f36"/>
|
||||
<stop offset="1" stop-color="#142b47"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
|
||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="#7dd3fc"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="720" height="1180" rx="36" fill="url(#background)"/>
|
||||
<text x="56" y="72" fill="#f8fafc" font-family="Arial, sans-serif" font-size="32" font-weight="700">Локальный контракт</text>
|
||||
<text x="56" y="108" fill="#b9d5e9" font-family="Arial, sans-serif" font-size="21">Код, зависимости, данные и сеть — разные слои</text>
|
||||
|
||||
<rect x="56" y="156" width="608" height="150" rx="20" fill="#183b5a" stroke="#72d4ff" stroke-width="2"/>
|
||||
<text x="88" y="208" fill="#9ee7ff" font-family="Arial, sans-serif" font-size="21" font-weight="700">ХОСТ</text>
|
||||
<text x="88" y="248" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">Рабочая копия</text>
|
||||
<text x="88" y="280" fill="#d6e8f5" font-family="Arial, sans-serif" font-size="20">исходники и редактор</text>
|
||||
|
||||
<path d="M360 306 V374" stroke="#7dd3fc" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<text x="386" y="350" fill="#b9d5e9" font-family="Arial, sans-serif" font-size="20">bind mount</text>
|
||||
|
||||
<rect x="56" y="392" width="608" height="184" rx="20" fill="#173d45" stroke="#5eead4" stroke-width="2"/>
|
||||
<text x="88" y="442" fill="#81f6df" font-family="Arial, sans-serif" font-size="21" font-weight="700">CONTAINER WEB</text>
|
||||
<text x="88" y="482" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">/srv/app</text>
|
||||
<text x="88" y="516" fill="#d6f6ee" font-family="Arial, sans-serif" font-size="20">npm run dev · порт 3000</text>
|
||||
<text x="88" y="548" fill="#d6f6ee" font-family="Arial, sans-serif" font-size="20">DATABASE_URL → db:5432</text>
|
||||
|
||||
<path d="M504 576 V650" stroke="#5eead4" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<text x="262" y="628" fill="#b9d5e9" font-family="Arial, sans-serif" font-size="20">named volume</text>
|
||||
<rect x="336" y="670" width="328" height="106" rx="18" fill="#243951" stroke="#a5b4fc" stroke-width="2"/>
|
||||
<text x="366" y="716" fill="#c7d2fe" font-family="Arial, sans-serif" font-size="20" font-weight="700">node_modules</text>
|
||||
<text x="366" y="750" fill="#e0e7ff" font-family="Arial, sans-serif" font-size="19">зависимости контейнера</text>
|
||||
|
||||
<path d="M264 576 V818" stroke="#7dd3fc" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<text x="88" y="676" fill="#b9d5e9" font-family="Arial, sans-serif" font-size="20">внутренняя сеть</text>
|
||||
|
||||
<rect x="56" y="838" width="608" height="154" rx="20" fill="#3a294a" stroke="#d8b4fe" stroke-width="2"/>
|
||||
<text x="88" y="888" fill="#ead5ff" font-family="Arial, sans-serif" font-size="21" font-weight="700">SERVICE DB</text>
|
||||
<text x="88" y="928" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">PostgreSQL</text>
|
||||
<text x="88" y="960" fill="#f3e8ff" font-family="Arial, sans-serif" font-size="20">доступен как db, не localhost</text>
|
||||
|
||||
<path d="M360 992 V1058" stroke="#d8b4fe" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<rect x="56" y="1074" width="608" height="72" rx="18" fill="#27233f" stroke="#c4b5fd" stroke-width="2"/>
|
||||
<text x="88" y="1120" fill="#ede9fe" font-family="Arial, sans-serif" font-size="22" font-weight="700">postgres_data · named volume</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,48 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1180" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Путь запроса через локальный Docker Compose стек</title>
|
||||
<desc id="desc">Вертикальная схема показывает путь от браузера на хосте к опубликованному порту API, затем к базе по имени db во внутренней сети и к named volume PostgreSQL.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop stop-color="#13233d"/>
|
||||
<stop offset="1" stop-color="#1d314e"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
|
||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="#fbbf24"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="720" height="1180" rx="36" fill="url(#background)"/>
|
||||
<text x="56" y="72" fill="#f8fafc" font-family="Arial, sans-serif" font-size="32" font-weight="700">Путь одного запроса</text>
|
||||
<text x="56" y="108" fill="#cbd8e8" font-family="Arial, sans-serif" font-size="21">У каждой стрелки свой наблюдатель</text>
|
||||
|
||||
<rect x="56" y="154" width="608" height="138" rx="20" fill="#24425e" stroke="#7dd3fc" stroke-width="2"/>
|
||||
<text x="88" y="204" fill="#bcecff" font-family="Arial, sans-serif" font-size="21" font-weight="700">ХОСТ</text>
|
||||
<text x="88" y="244" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">Браузер</text>
|
||||
<text x="88" y="274" fill="#d9effd" font-family="Arial, sans-serif" font-size="20">localhost:3000</text>
|
||||
|
||||
<path d="M360 292 V358" stroke="#fbbf24" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<text x="390" y="336" fill="#fde68a" font-family="Arial, sans-serif" font-size="20">опубликованный порт</text>
|
||||
|
||||
<rect x="56" y="376" width="608" height="190" rx="20" fill="#25484a" stroke="#5eead4" stroke-width="2"/>
|
||||
<text x="88" y="426" fill="#9cf4e1" font-family="Arial, sans-serif" font-size="21" font-weight="700">CONTAINER API</text>
|
||||
<text x="88" y="466" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">Node process</text>
|
||||
<text x="88" y="502" fill="#dcfce7" font-family="Arial, sans-serif" font-size="20">DATABASE_HOST = db</text>
|
||||
<text x="88" y="536" fill="#dcfce7" font-family="Arial, sans-serif" font-size="20">localhost здесь — сам api</text>
|
||||
|
||||
<path d="M360 566 V638" stroke="#fbbf24" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<text x="390" y="614" fill="#fde68a" font-family="Arial, sans-serif" font-size="20">bridge-сеть Compose</text>
|
||||
|
||||
<rect x="56" y="656" width="608" height="168" rx="20" fill="#493653" stroke="#d8b4fe" stroke-width="2"/>
|
||||
<text x="88" y="706" fill="#ead5ff" font-family="Arial, sans-serif" font-size="21" font-weight="700">SERVICE DB</text>
|
||||
<text x="88" y="746" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">PostgreSQL</text>
|
||||
<text x="88" y="780" fill="#f3e8ff" font-family="Arial, sans-serif" font-size="20">принимает соединение db:5432</text>
|
||||
|
||||
<path d="M360 824 V894" stroke="#fbbf24" stroke-width="4" marker-end="url(#arrow)"/>
|
||||
<text x="390" y="870" fill="#fde68a" font-family="Arial, sans-serif" font-size="20">постоянные данные</text>
|
||||
|
||||
<rect x="56" y="912" width="608" height="126" rx="20" fill="#302b4f" stroke="#c4b5fd" stroke-width="2"/>
|
||||
<text x="88" y="960" fill="#ddd6fe" font-family="Arial, sans-serif" font-size="21" font-weight="700">NAMED VOLUME</text>
|
||||
<text x="88" y="1000" fill="#ffffff" font-family="Arial, sans-serif" font-size="26" font-weight="700">postgres_data</text>
|
||||
|
||||
<rect x="56" y="1072" width="608" height="60" rx="16" fill="#1a2b42" stroke="#94a3b8" stroke-width="2"/>
|
||||
<text x="82" y="1111" fill="#e2e8f0" font-family="Arial, sans-serif" font-size="20">«Контейнер Up» не равен готовому ответу</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
Reference in New Issue
Block a user