Browse Source

мелкие правки

Евгений Колесников 5 months ago
parent
commit
adc34ec3e8
1 changed files with 6 additions and 2 deletions
  1. 6 2
      articles/docker_express_js.md

+ 6 - 2
articles/docker_express_js.md

@@ -20,7 +20,7 @@
 
 ![](../img/docker04.png)
 
-Так как у нас для разработки и боевого режима одна и та жже база данных, то перед запуском контейнера нужо отменить миграцию командой:
+Так как у нас для разработки и боевого режима одна и та же база данных, то перед запуском контейнера нужо отменить миграцию командой:
 
 ```
 npx sequelize-cli db:seed:undo
@@ -109,6 +109,8 @@ docker network create test-network
 
 >Для начала этого достаточно. При желании можно указать тип создаваемой сети и её параметры
 
+Сеть создаётся один раз, то есть эту команду выполнять нужно только один раз при настройке.
+
 Апи мы запустим с использованием созданной сети, а как быть с базой?
 
 Можно перезапустить контейнер с указанием сети, а можно подключить уже запущенный контейнер к новой сети командой:
@@ -125,7 +127,7 @@ docker run --name test_api --network=test-network -d -p 3000:3000 -e NODE_ENV=pr
 
 Тут у нас появились новые опции:
 
-* `--network=test-network`: при запуске контейнера присоединиться к существующей сети
+* `--network=test-network`: при запуске контейнера присоединиться к существующей сети (если явно не указать, то будет создана своя сеть)
 * `-e NODE_ENV=production`: переменная среды окружения для Node.js, которая указывает приложению, что используется боевой режим (мы его используем для настройки доступа к базе данных)
 * `-e DATABASE_URL="mysql://root:toor@test_mysql/mydb"`: задаём строку подключения к базе данных. Обратите внимание, в качестве хоста указывается имя контейнера, т.е. нам не надо знать адрес контейнера с базой, в докере имя хоста можно использовать вместо IP-адреса. Ну и смена порта не нужна, так как внутри контейнера используется стандартный порт MySQL (`3306`)
 
@@ -135,6 +137,8 @@ docker run --name test_api --network=test-network -d -p 3000:3000 -e NODE_ENV=pr
 
 ![](../img/docker07.png)
 
+У нас остался доступ к базе данных извне, а в реальных проектах его убирают и база становится доступна только для АПИ по внутренней сети.
+
 ---
 
 ## Задание на дом