Docker 运行 命令与 MySQL 导入
Docker Run command with MySQL import
我正在使用 dockerode 创建和 运行ning 容器。
我正在尝试将数据导入 MySQL。
我的代码:
docker.run('img_cwd',['mysql',
'-h', 'localhost',
'-u', 'user',
`-ppassword`,
'dbName',
'<',
`/tmp/21336/sql/data/import_file.sql"`],
[process.stdout, process.stderr],
{
Tty: false,
name: nameGenerator.getContainerName(),
AttachStdin: true,
OpenStdin: true,
StdinOnce: true,
HostConfig: {
Binds: ['/C/tmp:/tmp']
}
})
在 C:/tmp 下我必须要文件夹“21336”
在我的代码 运行 之后,我发现导入没有发生,docker ps 命令显示:
15d405443805af1a2635e7bc456311de741352ff4ae6b1efb3d43cb10a73d62c img_cwd "mysql -h localhost -u user-ppassword dbName < /tmp/21336/sql/data/import_file.sql" 9 seconds ago Exited (1) 8 seconds ago Import_b01k8qr29jh868vf0959cy_Data
当我用“-it”标志启动容器时 运行
导入命令:
mysql -h localhost -u user-ppassword dbName < /tmp/21336/sql/data/import_file.sql
效果很好。
我用的图片:
FROM alpine:3.9
RUN apk update && \
apk add --no-cache mysql-client
CMD ["/bin/sh"]
失败容器的日志 运行 显示它无法识别命令
:
在 Linux 上,< > 表示来自资源的输入输出,Linux shell 将命令分为两部分,一部分作为输入|输出,另一部分作为流需要传递到的部分。
现在还有 docker 命令,这是两个命令 docker run -it CONTAINER mysql -h localhost -u user-ppassword dbName
< /tmp/21336/sql/data/import_file.sql
。此外,/tmp/21336/sql/data/import_file.sql
正在主机中查找文件。
我通过创建脚本解决了它
#!/bin/sh
mysql -h -u -p <
当我运行命令时:
docker run imageName myScript HostParam UserPram PasswordParam DBName FileName
有效
我正在使用 dockerode 创建和 运行ning 容器。 我正在尝试将数据导入 MySQL。 我的代码:
docker.run('img_cwd',['mysql',
'-h', 'localhost',
'-u', 'user',
`-ppassword`,
'dbName',
'<',
`/tmp/21336/sql/data/import_file.sql"`],
[process.stdout, process.stderr],
{
Tty: false,
name: nameGenerator.getContainerName(),
AttachStdin: true,
OpenStdin: true,
StdinOnce: true,
HostConfig: {
Binds: ['/C/tmp:/tmp']
}
})
在 C:/tmp 下我必须要文件夹“21336”
在我的代码 运行 之后,我发现导入没有发生,docker ps 命令显示:
15d405443805af1a2635e7bc456311de741352ff4ae6b1efb3d43cb10a73d62c img_cwd "mysql -h localhost -u user-ppassword dbName < /tmp/21336/sql/data/import_file.sql" 9 seconds ago Exited (1) 8 seconds ago Import_b01k8qr29jh868vf0959cy_Data
当我用“-it”标志启动容器时 运行 导入命令:
mysql -h localhost -u user-ppassword dbName < /tmp/21336/sql/data/import_file.sql
效果很好。
我用的图片:
FROM alpine:3.9
RUN apk update && \
apk add --no-cache mysql-client
CMD ["/bin/sh"]
失败容器的日志 运行 显示它无法识别命令
:
在 Linux 上,< > 表示来自资源的输入输出,Linux shell 将命令分为两部分,一部分作为输入|输出,另一部分作为流需要传递到的部分。
现在还有 docker 命令,这是两个命令 docker run -it CONTAINER mysql -h localhost -u user-ppassword dbName
< /tmp/21336/sql/data/import_file.sql
。此外,/tmp/21336/sql/data/import_file.sql
正在主机中查找文件。
我通过创建脚本解决了它
#!/bin/sh
mysql -h -u -p <
当我运行命令时:
docker run imageName myScript HostParam UserPram PasswordParam DBName FileName
有效