Скрипт первого запуска в Docker
Скрипт первого запуска создаёт таблицы, пока том ещё пустой. Образ выполняет такие файлы только при первой инициализации хранилища данных, когда каталог базы ещё не содержит рабочих файлов.
В файле init/app.sql
лежит одна команда
создания таблицы notes:
CREATE TABLE notes (id INT);
Сервис db на mysql:9.7
получает пароль root demo,
базу app,
том dbdata
на /var/lib/mysql
и папку ./init
на /docker-entrypoint-initdb.d:
services:
db:
image: mysql:9.7
environment:
MYSQL_ROOT_PASSWORD: demo
MYSQL_DATABASE: app
volumes:
- dbdata:/var/lib/mysql
- ./init:/docker-entrypoint-initdb.d
volumes:
dbdata:
Фоновый подъём проекта
выполняют командой
docker compose up
с флагом -d:
docker compose up -d
После готовности сервера
внутри сервиса запускают клиент
и смотрят список таблиц
в базе app -
имя notes там есть:
docker compose exec db mysql -uroot -pdemo app -e "SHOW TABLES LIKE 'notes'"
Опишите на пустом томе tasks таблицу items в базе app через SQL-файл в подключённой папке старта.
Отметьте после подъёма, что таблица items видна в базе app.