Чтобы импортировать файл SQL в MySQL с помощью Docker Compose, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование смонтированного тома
version: '3'
services:
mysql:
image: mysql
volumes:
- ./path/to/sql/file.sql:/docker-entrypoint-initdb.d/file.sql
environment:
- MYSQL_ROOT_PASSWORD=your_password
В этом методе вы подключаете каталог, содержащий файл SQL, в каталог /docker-entrypoint-initdb.dвнутри контейнера MySQL. Когда контейнер запускается, MySQL автоматически выполняет все файлы SQL, присутствующие в этом каталоге.
Способ 2: использование команды mysql
version: '3'
services:
mysql:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=your_password
command: mysql -u root -p your_database < /path/to/sql/file.sql
В этом методе вы передаете команду mysqlв качестве команды контейнера, указывая базу данных и файл SQL для импорта.
Метод 3. Использование специального сценария инициализации
version: '3'
services:
mysql:
image: mysql
volumes:
- ./path/to/init_script.sql:/docker-entrypoint-initdb.d/init_script.sql
environment:
- MYSQL_ROOT_PASSWORD=your_password
command: --init-file /docker-entrypoint-initdb.d/init_script.sql
В этом методе вы создаете собственный сценарий инициализации (например, init_script.sql), который содержит операторы SQL, которые вы хотите импортировать. Вы монтируете этот сценарий в каталог /docker-entrypoint-initdb.d, а затем предоставляете параметр --init-fileдля выполнения сценария при запуске контейнера.п>
Это всего лишь несколько примеров того, как можно импортировать файл SQL в MySQL с помощью Docker Compose. Выберите метод, который лучше всего соответствует вашим потребностям, и настройте пути и имена файлов в соответствии с вашими настройками.