@sumor/ssh-docker

ssh-docker

أداة Sumor Cloud.
المزيد من التوثيق

ssh-docker هو أداة Docker لـ @sumor/ssh-tools

CI Test Coverage Audit

التثبيت

npm i @sumor/ssh-docker --save

المتطلبات المسبقة

إصدار Node.JS

يتطلب إصدار Node.JS 18.x أو أحدث

يتطلب Node.JS ES module

نظرًا لأن هذه الحزمة مكتوبة بتقنية ES module، يرجى تغيير الشفرة التالية في ملف 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()

// بناء صورة Docker
const sourceFolder = '/path/to/source/folder'
const imageName = 'اسم-الصورة'
const version = '1.0.0'
await ssh.docker.buildImage(sourceFolder, imageName, version)

// قائمة الصور
const images = await ssh.docker.images()

// الصورة موجودة
const exists = await ssh.docker.existsImage(imageName, version)

// تشغيل حاوية Docker
await ssh.docker.run({
  name: 'اسم-الحاوية',
  image: imageName,
  version: version,
  ports: [{ from: 443, to: 30000 }],
  folders: {
    config: '/path/to/config/folder'
  }
})

// قائمة الحاويات Docker
const containers = await ssh.docker.containers()

// الحاوية موجودة
const exists = await ssh.docker.exists('اسم-الحاوية')

// تنفيذ أمر في الحاوية
const result = await ssh.docker.exec('اسم-الحاوية', 'ls -al')

// حذف الحاوية Docker
await ssh.docker.remove('اسم-الحاوية')

// حذف الصورة Docker
await ssh.docker.removeImage(imageName, version)

await ssh.disconnect()