Create docker container and attach

This commit is contained in:
wancat committed 2023-07-15 11:55:38 +08:00
1 parent 14663476ae
commit 0ca4bf0bc8
3 files changed
+230 -6

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
import Docker from 'dockerode'
const engine = new Docker()
const containerOptions = {
Image: 'ubuntu',
AttachStdin: true,
AttachStdout: true,
AttachStderr: true,
Tty: true,
Cmd: ['/bin/bash'],
OpenStdin: true,
StdinOnce: false,
}
async function createContainer() {
try {
const container = await engine.createContainer(containerOptions)
await container.start()
return container
} catch (error) {
console.error(error)
throw error
}
}
async function attachContainer() {
const container = await createContainer()
console.log(container.id)
// Create an exec instance with bash shell
container.attach(
{
stream: true,
stdin: true,
stdout: true,
stderr: true,
ws: true,
},
(err, stream) => {
stream.pipe(process.stdout)
}
)
}
attachContainer()