Я просто изучаю основы докера, но застрял на импортировании файла SQl из локальной системы. Я нахожусь в окнах 10 и разрешаю своим контейнерам докеров получать доступ к моим общим дискам. У меня есть файл SQL, расположенный на D, который я хотел бы импортировать в базовое изображение Maria DB, которое я получил из докер-хаба.Установите файл дампа sql в контейнер докера с помощью mariaDB
Я нашел команду для установки этого файла sql на моем изображении и попытался напрямую импортировать изображение из командной строки контейнера sql, но получить сообщение об ошибке не удалось.
Ниже приведены два метода, которые я пробовал, но где я могу хранить мой sql-дамп и как его импортировать?
Метод 1 пытался через командную строку MySQL
winpty docker run -it --link *some-mariadb*:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
Затем
use *database-created* // previously created
Затем
source d:/sql_dump_file.sql
Способ 2
docker exec -i my-new-database mysql -uroot -pnew-db-password --force < d:/sql_dump_file.sql
Обновление 5/12/2016
Так после разочаровывающих выходные игры вокруг. В настоящее время я изменяю диск на диск C: как будто, похоже, есть некоторая неизвестная проблема, я не могу отлаживать работу с приводом D:.
Затем я нашел команду инспекции, чтобы узнать, какие объемы установлены в контейнере. У меня есть следующее, но я не могу импортировать в SQL, поскольку он говорит, что файл не существует, но он ясно говорит в докере, что он там и установлен, файл SQL находится внутри папки map_me. Я создал папку под названием map_me в главном каталоге C:
docker inspect dbcontainer
"Mounts":
[
{
"Source": "/map_me",
"Destination": "/docker-entrypoint-initdb.d/sl_dump_file.sql",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
он создал файл изображения, но когда я зашел в sql, он просто имеет таблицы mysql по умолчанию. – Paddy
попробуйте следующее: 'docker run -d --name <имя_пользователя> -vd: \ sql_dump_file.sql: /docker-entrypoint-initdb.d/sl_dump_file.sql<команды запуска>' –
То же самое, создает базу данных со стандартным конфигурацией MySQL, но моего SQL-дампа нет. – Paddy