|
|
@@ -20,7 +20,7 @@
|
|
|
|
|
|

|
|
|
|
|
|
-Так как у нас для разработки и боевого режима одна и та жже база данных, то перед запуском контейнера нужо отменить миграцию командой:
|
|
|
+Так как у нас для разработки и боевого режима одна и та же база данных, то перед запуском контейнера нужо отменить миграцию командой:
|
|
|
|
|
|
```
|
|
|
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
|
|
|
|
|
|

|
|
|
|
|
|
+У нас остался доступ к базе данных извне, а в реальных проектах его убирают и база становится доступна только для АПИ по внутренней сети.
|
|
|
+
|
|
|
---
|
|
|
|
|
|
## Задание на дом
|