NodeJs Spawn Docker 命令
NodeJs Spawn Docker commands
我正在尝试 运行 一个 docker 命令来使用 Node spawn 备份数据库。
问题是进程以代码 1 退出。
如果我直接在控制台中尝试此命令,它会起作用。
我该怎么办?
const backupProcess = spawn('docker', [
'exec', container, 'pg_dumpall', `-U ${dbOptions.user}`, '>', `${path}`
]);
//container: container name
//dbOptions.user: database user
//path: backup file destination
您正在将“>”作为参数传递给 docker,但是如果您在 shell 中执行此操作,则 > 由 shell 而非 docker.
您可以尝试启动一个 shell 至极启动 docker 并处理输出的重定向。
const backupProcess = spawn('bash',['-c', `docker exec ${container} pg_dumpall -U ${dbOptions.user} > ${path}`]);
我正在尝试 运行 一个 docker 命令来使用 Node spawn 备份数据库。
问题是进程以代码 1 退出。
如果我直接在控制台中尝试此命令,它会起作用。
我该怎么办?
const backupProcess = spawn('docker', [
'exec', container, 'pg_dumpall', `-U ${dbOptions.user}`, '>', `${path}`
]);
//container: container name
//dbOptions.user: database user
//path: backup file destination
您正在将“>”作为参数传递给 docker,但是如果您在 shell 中执行此操作,则 > 由 shell 而非 docker.
您可以尝试启动一个 shell 至极启动 docker 并处理输出的重定向。
const backupProcess = spawn('bash',['-c', `docker exec ${container} pg_dumpall -U ${dbOptions.user} > ${path}`]);