Я пытаюсь запустить exec-экземпляр моего образа докера через мой проект узла с кодом ниже:
return axios.post(host + `/exec/${id}/start`, { Detach: false, Tty: true },
{ responseType: 'stream' })
.then(function () {
let stream = response.data
let socket = stream.socket
socket.on('data', (data: string) => {
process.stdin.pause()
if (!firstLine)
process.stdout.write(data)
firstLine = false
process.stdin.resume()
})
process.stdout.on('data', i => {
socket.write(i.toString())
if (i == DetachKey) {
rl.emit('SIGINT')
}
})
rl.on('SIGINT', function () {
// stop input
socket.emit('end')
process.stdin.pause()
process.stdout.write(exec_exit_msg)
process.exit(0)
})
})
В Linux (Ubuntu & Mint) все в порядке, но когда я тестирую свой код в Windows 10, я получаю сообщение об ошибке:
Error: read ENOTCONN
at WriteStream.Socket._read (net.js:529:20)
at WriteStream.Readable.read (_stream_readable.js:453:10)
at resume_ (_stream_readable.js:929:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Версия моего узла v10.15.3 (с использованием nvm).
Похоже, что-то не так с разъемом. Я много искал, но не мог понять, как решить проблему.