Uma Ferramenta Sumor Cloud.
Mais Documentação
ssh-docker é uma ferramenta docker para @sumor/ssh-tools
npm i @sumor/ssh-docker --save
Requer Node.JS versão 18.x ou superior
Como este pacote está escrito em módulo ES,
por favor altere o seguinte código no seu arquivo package.json
:
{
"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()
// construir imagem docker
const pastaOrigem = '/caminho/para/pasta/origem'
const nomeImagem = 'nome-imagem'
const versao = '1.0.0'
await ssh.docker.buildImage(pastaOrigem, nomeImagem, versao)
// lista de imagens
const imagens = await ssh.docker.images()
// verifica se a imagem existe
const existe = await ssh.docker.existsImage(nomeImagem, versao)
// executar container docker
await ssh.docker.run({
name: 'nome-container',
image: nomeImagem,
version: versao,
ports: [{ from: 443, to: 30000 }],
folders: {
config: '/caminho/para/pasta/configuracao'
}
})
// lista de containers docker
const containers = await ssh.docker.containers()
// verifica se o container existe
const existe = await ssh.docker.exists('nome-container')
// executar comando no container
const resultado = await ssh.docker.exec('nome-container', 'ls -al')
// deletar container docker
await ssh.docker.remove('nome-container')
// deletar imagem docker
await ssh.docker.removeImage(nomeImagem, versao)
await ssh.disconnect()