我刚学泊坞窗的基础上安装一个SQL转储文件到一个码头工人的容器,不过既然来了就坚持从本地系统导入SQL文件。我在Windows 10上,并允许我的码头容器访问我的共享驱动器。我有一个SQL文件位于D我想导入到我从码头中心获得的Maria DB的基本映像。与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
更新2016年5月12日
的玩弄一个令人失望的周末后,所以。我目前将驱动器更改为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表。再次/docker-entrypoint-initdb.d/sl_dump_file.sql<启动命令>' –
Paddy
试试这个:'搬运工运行-d --name <容器名称> -vd:\ sql_dump_file.sql用标准的MySQL配置创建一个数据库,但我的SQL转储不在那里。 –
同样的事情,: – Paddy