|
|
@@ -39,10 +39,10 @@ ENV MYSQL_ROOT_HOST="%"
|
|
|
Рассмотрим подробнее ключевые команды, которые мы использовали в `Dockerfile`.
|
|
|
|
|
|
* `FROM` — указывает исходный образ, на котором будет строиться контейнер. **Docker** загружает его из реестра (Docker Hub). Я тут указал конкретную версию, но можно использовать теги `latest` и `stable`
|
|
|
-* `COPY` — копирование файлов из директории проекта в контейнер. Пример файла `dump.sql` приведен ниже, вам, естественно, нужно положить дамп своей БД с данными
|
|
|
+* `COPY` — копирование файлов из директории проекта в контейнер. Пример файла `dump.sql` есть в этом репозитории, вам, естественно, нужно положить дамп своей БД с данными
|
|
|
* `ENV` — устанавливает переменные среды, которые будут доступны внутри контейнера (не рекомендуется сюда писать логин/пароль).
|
|
|
|
|
|
-Файлы для образа (`Dockerfile` и `dump.sql`) лежат в каталоге [docker_mysql](../docker_mysql/) этого репозитория
|
|
|
+>Файлы для образа (`Dockerfile` и `dump.sql`) лежат в каталоге [docker_mysql](../docker_mysql/) этого репозитория
|
|
|
|
|
|
## Сборка образа
|
|
|
|
|
|
@@ -64,7 +64,7 @@ docker build -t test-mysql .
|
|
|
docker run --name test_mysql -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=toor -v ./db_volume:/var/lib/mysql test-mysql
|
|
|
```
|
|
|
|
|
|
-* `docker run`: Консольная команда для запуска контейнера.
|
|
|
+* `docker run`: Консольная команда для запуска нового контейнера.
|
|
|
* `--name test_mysql`: человекопонятное название контейнера, которое мотом можно использовать в командах `docker start` и `docker stop` (если имя не указать, то докер присвоит какое-то свое)
|
|
|
* `-d`: Запускает контейнер в фоновом режиме.
|
|
|
* `-p 3308:3306`: Пробрасывает порт MySQL контейнера на ваш локальный хост (локальный слева, контейнер справа). Можно писать одинаковые, но у меня порты `3306` и `3307` уже заняты другими экземплярами. По-умолчанию порт открывается на внешнем сетевом интерфейсе, т.е. будет доступен во внешней сети. Если вам этого не нужно, то можно указать сеть явно, например только локально: `-p 127.0.0.1:3308:3306`
|
|
|
@@ -82,6 +82,8 @@ docker run --name test_mysql -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=toor -v ./db
|
|
|
|
|
|

|
|
|
|
|
|
+Уже существующий контейнер можно запустить и остановить командами `docker stop <имя контейнера>` и `docker start <имя контейнера>`
|
|
|
+
|
|
|
Итак, мы создали первый свой образ и запустили контейнер на его основе. Можно его использовать в локальной разработке, не устанавливая MySQL в основную операционную систему.
|
|
|
|
|
|
На следующих занятиях мы создадим образ для АПИ и объединим его в одну сеть с базой данных
|