
Security News
Meet the Socket Team at RSAC and BSidesSF 2025
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.
@sumor/ssh-docker
Advanced tools
A Sumor Cloud Tool.
More Documentation
ssh-docker is a docker tool for @sumor/ssh-tools
npm i @sumor/ssh-docker --save
Require Node.JS version 18.x or above
As this package is written in ES module,
please change the following code in your package.json
file:
{
"type": "module"
}
import SSHBasic from '@sumor/ssh-tools'
import docker from '@sumor/ssh-docker'
class SSH extends SSHBasic {
constructor(config) {
super(config)
this.addTool('docker', docker)
}
}
export default SSH
import SSH from './ssh.js'
const ssh = new SSH(server)
await ssh.connect()
// docker build image
const sourceFolder = '/path/to/source/folder'
const imageName = 'image-name'
const version = '1.0.0'
await ssh.docker.buildImage(sourceFolder, imageName, version)
// images list
const images = await ssh.docker.images()
// exists image
const exists = await ssh.docker.existsImage(imageName, version)
// docker run container
await ssh.docker.run({
name: 'container-name',
image: imageName,
version: version,
ports: [
{
from: 443, // container port
to: 30123 // host port
}
],
bindings: [
{
from: '/usr/source/config', // container folder
to: '/path/to/config/folder', // host folder
readOnly: true // optional, default is false
}
]
})
// docker containers list
const containers = await ssh.docker.containers()
// exists container
const exists = await ssh.docker.exists('container-name')
// exec command in container
const result = await ssh.docker.exec('container-name', 'ls -al')
// docker delete container
await ssh.docker.remove('container-name')
// docker delete image
await ssh.docker.removeImage(imageName, version)
// build node.js project
const logs = await ssh.docker.buildNode('/path/to/source')
// run node.js project
const logs = await ssh.docker.runNode('container-name', '/path/to/source', {
port
})
// run Nginx
const logs = await ssh.docker.runNginx({
name: 'container-name',
ports: [
{
from: 443, // container port
to: 30123 // host port
}
],
bindings: [
{
from: '/usr/source/config', // container folder
to: '/path/to/config/folder', // host folder
readOnly: true // optional, default is false
}
]
})
// update Nginx config
await ssh.docker.updateNginx(dockerId)
// run site
await ssh.docker.runSite({
workerProcesses: 2,
workerConnections: 2048,
port: 30100,
domains: [
{
domain: 'dev.example.com',
servers: [
{
host: 'dev.example.com',
port: 30001,
maxFails: 3,
maxConns: 5
},
{
host: 'dev.example.com',
port: 30002,
weight: 1
}
]
}
]
})
await ssh.disconnect()
FAQs
ssh-docker is a docker tool for @sumor/ssh-tools
We found that @sumor/ssh-docker demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.
Security News
Biome's v2.0 beta introduces custom plugins, domain-specific linting, and type-aware rules while laying groundwork for HTML support and embedded language features in 2025.
Security News
Next.js has patched a critical vulnerability (CVE-2025-29927) that allowed attackers to bypass middleware-based authorization checks in self-hosted apps.