New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

dockerode

Package Overview
Dependencies
Maintainers
1
Versions
98
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dockerode - npm Package Compare versions

Comparing version
4.0.9
to
4.0.10
+8
.claude/settings.local.json
{
"permissions": {
"allow": [
"Bash(gh issue view:*)",
"WebFetch(domain:github.com)"
]
}
}
var protobuf = require("protobufjs");
var path = require("path");
// Constants
var BUILDKIT_TRACE_ID = "moby.buildkit.trace";
var BUILDKIT_IMAGE_ID = "moby.image.id";
var PROTO_TYPE = "moby.buildkit.v1.StatusResponse";
var ENCODING_UTF8 = "utf8";
var ENCODING_BASE64 = "base64";
var StatusResponse;
// Load the protobuf schema
function loadProto() {
if (StatusResponse) return StatusResponse;
var root = protobuf.loadSync(
path.resolve(__dirname, "proto", "buildkit_status.proto")
);
StatusResponse = root.lookupType(PROTO_TYPE);
return StatusResponse;
}
/**
* Decodes a BuildKit trace message
* @param {string} base64Data - Base64-encoded protobuf data from aux field
* @returns {Object} Decoded status response with vertexes, logs, etc.
*/
function decodeBuildKitStatus(base64Data) {
var StatusResponse = loadProto();
// Handle empty messages
if (!base64Data || base64Data.length === 0) {
return {
vertexes: [],
statuses: [],
logs: [],
warnings: []
};
}
var buffer = Buffer.from(base64Data, ENCODING_BASE64);
var message = StatusResponse.decode(buffer);
return StatusResponse.toObject(message, {
longs: String,
enums: String,
bytes: String,
defaults: true
});
}
/**
* Formats BuildKit status into human-readable text
* @param {Object} status - Decoded status response
* @returns {string[]} Array of human-readable log lines
*/
function formatBuildKitStatus(status) {
var lines = [];
// Process vertexes (build steps)
if (status.vertexes && status.vertexes.length > 0) {
status.vertexes.forEach(function(vertex) {
if (vertex.name && vertex.started && !vertex.completed) {
lines.push("[" + vertex.digest.substring(0, 12) + "] " + vertex.name);
}
if (vertex.error) {
lines.push("ERROR: " + vertex.error);
}
if (vertex.completed && vertex.cached) {
lines.push("CACHED: " + vertex.name);
}
});
}
// Process logs (command output)
if (status.logs && status.logs.length > 0) {
status.logs.forEach(function(log) {
var msg = Buffer.from(log.msg).toString(ENCODING_UTF8);
if (msg.trim()) {
lines.push(msg.trimEnd());
}
});
}
// Process status updates (progress)
if (status.statuses && status.statuses.length > 0) {
status.statuses.forEach(function(s) {
if (s.name && s.total > 0) {
var percent = Math.floor((s.current / s.total) * 100);
lines.push(s.name + ": " + percent + "% (" + s.current + "/" + s.total + ")");
}
});
}
// Process warnings
if (status.warnings && status.warnings.length > 0) {
status.warnings.forEach(function(warning) {
var msg = Buffer.from(warning.short).toString(ENCODING_UTF8);
lines.push("WARNING: " + msg);
});
}
return lines;
}
/**
* Parse a BuildKit stream line and extract human-readable logs
* @param {string} line - JSON line from build stream
* @returns {Object} { isBuildKit: boolean, logs: string[], raw: Object }
*/
function parseBuildKitLine(line) {
try {
var json = JSON.parse(line);
// Check if it's a BuildKit trace message
if (json.id === BUILDKIT_TRACE_ID && json.aux !== undefined) {
var status = decodeBuildKitStatus(json.aux);
var logs = formatBuildKitStatus(status);
return {
isBuildKit: true,
logs: logs,
raw: status
};
}
// Check if it's the final image ID
if (json.id === BUILDKIT_IMAGE_ID && json.aux && json.aux.ID) {
return {
isBuildKit: true,
logs: ["Built image: " + json.aux.ID],
raw: json.aux
};
}
// Not a BuildKit message
return {
isBuildKit: false,
logs: [],
raw: json
};
} catch (e) {
return {
isBuildKit: false,
logs: [],
raw: null,
error: e.message
};
}
}
/**
* Follow progress of a stream, automatically handling both BuildKit and regular output.
* This provides the same ergonomics as modem.followProgress but decodes BuildKit logs.
*
* @param {Stream} stream - Stream from buildImage(), pull(), push(), etc.
* @param {Function} onFinished - Called when stream ends: (err, output) => void
* @param {Function} onProgress - Called for each log event: (event) => void
* @returns {void}
*/
function followProgress(stream, onFinished, onProgress) {
var buffer = '';
var output = [];
var finished = false;
stream.on('data', onStreamEvent);
stream.on('error', onStreamError);
stream.on('end', onStreamEnd);
stream.on('close', onStreamEnd);
function onStreamEvent(data) {
buffer += data.toString();
// Process complete lines
var lines = buffer.split('\n');
buffer = lines.pop(); // Save incomplete line
lines.forEach(function(line) {
if (!line.trim()) return;
processLine(line);
});
}
function processLine(line) {
try {
// Try to parse as BuildKit or regular Docker output
var result = parseBuildKitLine(line);
if (result.isBuildKit) {
// BuildKit message - create events from decoded logs
result.logs.forEach(function(log) {
var event = { stream: log + '\n' };
output.push(event);
if (onProgress) onProgress(event);
});
} else if (result.raw) {
// Regular Docker message
output.push(result.raw);
if (onProgress) onProgress(result.raw);
}
} catch (e) {
// If parsing fails, try plain JSON
try {
var json = JSON.parse(line);
output.push(json);
if (onProgress) onProgress(json);
} catch (e2) {
// Ignore parse errors
}
}
}
function onStreamError(err) {
finished = true;
stream.removeListener('data', onStreamEvent);
stream.removeListener('error', onStreamError);
stream.removeListener('end', onStreamEnd);
stream.removeListener('close', onStreamEnd);
if (onFinished) onFinished(err, output);
}
function onStreamEnd() {
if (finished) return;
finished = true;
// Process any remaining data in buffer
if (buffer.trim()) {
processLine(buffer);
}
stream.removeListener('data', onStreamEvent);
stream.removeListener('error', onStreamError);
stream.removeListener('end', onStreamEnd);
stream.removeListener('close', onStreamEnd);
if (onFinished) onFinished(null, output);
}
}
module.exports = {
followProgress: followProgress
};
syntax = "proto3";
package moby.buildkit.v1;
// Minimal definitions for decoding BuildKit status messages
// Based on https://github.com/moby/buildkit/blob/master/api/services/control/control.proto
// Related to https://github.com/moby/buildkit/blob/master/solver/pb/ops.proto (vertices map to the solver op DAG)
message StatusResponse {
repeated Vertex vertexes = 1;
repeated VertexStatus statuses = 2;
repeated VertexLog logs = 3;
repeated VertexWarning warnings = 4;
}
message Vertex {
string digest = 1;
repeated string inputs = 2;
string name = 3;
bool cached = 4;
Timestamp started = 5;
Timestamp completed = 6;
string error = 7;
ProgressGroup progressGroup = 8;
}
message VertexStatus {
string ID = 1;
string vertex = 2;
string name = 3;
int64 current = 4;
int64 total = 5;
Timestamp timestamp = 6;
Timestamp started = 7;
Timestamp completed = 8;
}
message VertexLog {
string vertex = 1;
Timestamp timestamp = 2;
int64 stream = 3;
bytes msg = 4;
}
message VertexWarning {
string vertex = 1;
int64 level = 2;
bytes short = 3;
repeated bytes detail = 4;
string url = 5;
SourceInfo info = 6;
repeated Range ranges = 7;
}
message ProgressGroup {
string id = 1;
string name = 2;
bool weak = 3;
}
// Simplified Timestamp to match google.protobuf.Timestamp wire format
message Timestamp {
int64 seconds = 1;
int32 nanos = 2;
}
message SourceInfo {
string filename = 1;
bytes data = 2;
// definition and language fields omitted - not needed for log decoding
}
message Range {
Position start = 1;
Position end = 2;
}
message Position {
int32 line = 1;
int32 character = 2;
}
+24
-0

@@ -339,2 +339,26 @@ var EventEmitter = require('events').EventEmitter,

/**
* Follow progress of a stream operation (build, pull, push, etc.) with automatic
* BuildKit decoding.
*
* This method works identically to docker.modem.followProgress() but additionally
* decodes BuildKit v2 build output. BuildKit emits base64-encoded protobuf messages
* which this method transparently decodes into human-readable log events.
*
* Use this instead of docker.modem.followProgress() when:
* - You're using BuildKit builds (version: "2")
* - You want a single API that handles both regular and BuildKit output
*
* For non-BuildKit streams (pull, push, regular builds), behavior is identical
* to docker.modem.followProgress().
*
* @param {Stream} stream - Stream from buildImage(), pull(), push(), etc.
* @param {Function} onFinished - Called when stream ends: (err, output) => void
* @param {Function} onProgress - Optional callback for each event: (event) => void
*/
Docker.prototype.followProgress = function(stream, onFinished, onProgress) {
var buildkit = require('./buildkit');
return buildkit.followProgress(stream, onFinished, onProgress);
};
/**
* Fetches a Container by ID

@@ -341,0 +365,0 @@ * @param {String} id Container's ID

+2
-2
{
"name": "dockerode",
"description": "Docker Remote API module.",
"version": "4.0.9",
"version": "4.0.10",
"author": "Pedro Dias <petermdias@gmail.com>",

@@ -21,3 +21,3 @@ "maintainers": [

"@grpc/proto-loader": "^0.7.13",
"docker-modem": "^5.0.6",
"docker-modem": "^5.0.7",
"protobufjs": "^7.3.2",

@@ -24,0 +24,0 @@ "tar-fs": "^2.1.4",

+98
-98

@@ -235,4 +235,4 @@ # dockerode

* `stream` - stream(s) which will be used for execution output.
* `create_options` - (optional) Options used for container creation. Refer to the [DockerEngine ContainerCreate documentation](https://docs.docker.com/engine/api/v1.37/#operation/ContainerCreate) for the possible values
* `start_options` - (optional) Options used for container start. Refer to the [DockerEngine ContainerStart documentation](https://docs.docker.com/engine/api/v1.37/#operation/ContainerStart) for the possible values
* `create_options` - (optional) Options used for container creation. Refer to the [DockerEngine ContainerCreate documentation](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerCreate) for the possible values
* `start_options` - (optional) Options used for container start. Refer to the [DockerEngine ContainerStart documentation](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerStart) for the possible values
* `callback` - callback called when execution ends (optional, promise will be returned if not used).

@@ -370,8 +370,8 @@

- docker.createContainer(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerCreate)
- docker.createImage([auth], options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageCreate)
- docker.loadImage(file, options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageLoad)
- docker.importImage(file, options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageCreate)
- docker.buildImage(file, options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageBuild)
- docker.checkAuth(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SystemAuth)
- docker.createContainer(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Container/operation/ContainerCreate)
- docker.createImage([auth], options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageCreate)
- docker.loadImage(file, options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageLoad)
- docker.importImage(file, options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageCreate)
- docker.buildImage(file, options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageBuild)
- docker.checkAuth(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/System/operation/SystemAuth)
- docker.getContainer(id) - Returns a Container object.

@@ -388,34 +388,34 @@ - docker.getImage(name) - Returns an Image object.

- docker.getExec(id) - Returns a Exec object.
- docker.listContainers(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerList)
- docker.listImages(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageList)
- docker.listServices(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ServiceList)
- docker.listNodes(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NodeList)
- docker.listTasks(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/TaskList)
- docker.listSecrets(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SecretList)
- docker.listConfigs(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ConfigList)
- docker.listPlugins(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginList)
- docker.listVolumes(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/VolumeList)
- docker.listNetworks(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkList)
- docker.createSecret(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SecretCreate)
- docker.createConfig(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ConfigCreate)
- docker.createPlugin(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginCreate)
- docker.createVolume(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/VolumeCreate)
- docker.createService(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ServiceCreate)
- docker.createNetwork(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkCreate)
- docker.pruneImages(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImagePrune)
- docker.pruneBuilder() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/BuildPrune)
- docker.pruneContainers(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerPrune)
- docker.pruneVolumes(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/VolumePrune)
- docker.pruneNetworks(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkPrune)
- docker.searchImages(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageSearch)
- docker.info() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SystemInfo)
- docker.version() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SystemVersion)
- docker.ping() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SystemPing)
- docker.df() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SystemDataUsage)
- docker.getEvents(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SystemEvents)
- docker.swarmInit(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SwarmInit)
- docker.swarmJoin(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SwarmJoin)
- docker.swarmLeave(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SwarmLeave)
- docker.swarmUpdate(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SwarmUpdate)
- docker.swarmInspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SwarmInspect)
- docker.listContainers(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Container/operation/ContainerList)
- docker.listImages(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageList)
- docker.listServices(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Service/operation/ServiceList)
- docker.listNodes(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Node/operation/NodeList)
- docker.listTasks(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Task/operation/TaskList)
- docker.listSecrets(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Secret/operation/SecretList)
- docker.listConfigs(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Config/operation/ConfigList)
- docker.listPlugins(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Plugin/operation/PluginList)
- docker.listVolumes(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Volume/operation/VolumeList)
- docker.listNetworks(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Network/operation/NetworkList)
- docker.createSecret(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Secret/operation/SecretCreate)
- docker.createConfig(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Config/operation/ConfigCreate)
- docker.createPlugin(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Plugin/operation/PluginCreate)
- docker.createVolume(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Volume/operation/VolumeCreate)
- docker.createService(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ServiceCreate)
- docker.createNetwork(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NetworkCreate)
- docker.pruneImages(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImagePrune)
- docker.pruneBuilder() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/BuildPrune)
- docker.pruneContainers(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerPrune)
- docker.pruneVolumes(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/VolumePrune)
- docker.pruneNetworks(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NetworkPrune)
- docker.searchImages(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImageSearch)
- docker.info() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SystemInfo)
- docker.version() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SystemVersion)
- docker.ping() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SystemPing)
- docker.df() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SystemDataUsage)
- docker.getEvents(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SystemEvents)
- docker.swarmInit(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SwarmInit)
- docker.swarmJoin(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SwarmJoin)
- docker.swarmLeave(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SwarmLeave)
- docker.swarmUpdate(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SwarmUpdate)
- docker.swarmInspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SwarmInspect)
- docker.pull(repoTag, options, callback, auth) - Like Docker's CLI pull

@@ -428,31 +428,31 @@ - docker.pullAll(repoTag, options, callback, auth) - Like Docker's CLI pull with "-a"

- container.inspect(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerInspect)
- container.rename(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerRename)
- container.update(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerUpdate)
- container.top(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerTop)
- container.changes() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerChanges)
- container.export() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerExport)
- container.start(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerStart)
- container.stop(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerStop)
- container.pause(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerPause)
- container.unpause(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerUnpause)
- container.exec(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerExec)
- container.commit(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageCommit)
- container.restart(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerRestart)
- container.kill(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerKill)
- container.resize(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerResize)
- container.attach(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerAttach)
- container.wait(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerWait)
- container.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerDelete)
- container.getArchive(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerArchive)
- container.infoArchive(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerArchiveInfo)
- container.putArchive(file, options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PutContainerArchive)
- container.logs(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerLogs)
- container.stats(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ContainerStats)
- container.inspect(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerInspect)
- container.rename(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerRename)
- container.update(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerUpdate)
- container.top(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerTop)
- container.changes() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerChanges)
- container.export() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerExport)
- container.start(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerStart)
- container.stop(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerStop)
- container.pause(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerPause)
- container.unpause(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerUnpause)
- container.exec(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerExec)
- container.commit(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImageCommit)
- container.restart(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerRestart)
- container.kill(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerKill)
- container.resize(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerResize)
- container.attach(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerAttach)
- container.wait(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerWait)
- container.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerDelete)
- container.getArchive(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerArchive)
- container.infoArchive(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerArchiveInfo)
- container.putArchive(file, options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PutContainerArchive)
- container.logs(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerLogs)
- container.stats(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ContainerStats)
### Exec
- exec.start(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ExecStart)
- exec.resize(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ExecResize)
- exec.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ExecInspect)
- exec.start(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ExecStart)
- exec.resize(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ExecResize)
- exec.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ExecInspect)

@@ -462,55 +462,55 @@ ### Image

- image.inspect(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.48/#tag/Image/operation/ImageInspect)
- image.history() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageHistory)
- image.push(options, callback, auth) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImagePush)
- image.tag(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageTag)
- image.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageDelete)
- image.get() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ImageGet)
- image.history() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImageHistory)
- image.push(options, callback, auth) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImagePush)
- image.tag(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImageTag)
- image.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImageDelete)
- image.get() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ImageGet)
### Network
- network.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkInspect)
- network.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkDelete)
- network.connect(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkConnect)
- network.disconnect(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NetworkDisconnect)
- network.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NetworkInspect)
- network.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NetworkDelete)
- network.connect(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NetworkConnect)
- network.disconnect(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NetworkDisconnect)
### Node
- node.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NodeInspect)
- node.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NodeDelete)
- node.update(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/NodeUpdate)
- node.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NodeInspect)
- node.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NodeDelete)
- node.update(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/NodeUpdate)
### Plugin
- plugin.privileges() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/GetPluginPrivileges)
- plugin.pull(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginPull)
- plugin.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginInspect)
- plugin.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginDelete)
- plugin.enable(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginEnable)
- plugin.disable(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginDisable)
- plugin.update([auth], options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginUpgrade)
- plugin.push(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginPush)
- plugin.configure(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/PluginSet)
- plugin.privileges() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/GetPluginPrivileges)
- plugin.pull(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginPull)
- plugin.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginInspect)
- plugin.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginDelete)
- plugin.enable(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginEnable)
- plugin.disable(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginDisable)
- plugin.update([auth], options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginUpgrade)
- plugin.push(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginPush)
- plugin.configure(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/PluginSet)
### Secret
- secret.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SecretInspect)
- secret.remove() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SecretDelete)
- secret.update(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/SecretUpdate)
- secret.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SecretInspect)
- secret.remove() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SecretDelete)
- secret.update(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/SecretUpdate)
### Service
- service.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ServiceInspect)
- service.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ServiceDelete)
- service.update(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ServiceUpdate)
- service.logs(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/ServiceLogs)
- service.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ServiceInspect)
- service.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ServiceDelete)
- service.update(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ServiceUpdate)
- service.logs(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/ServiceLogs)
### Task
- task.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/TaskInspect)
- task.logs(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/Session)
- task.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/TaskInspect)
- task.logs(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/Session)
### Volume
- volume.inspect() - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/VolumeInspect)
- volume.remove(options) - [Docker API Endpoint](https://docs.docker.com/engine/api/v1.37/#operation/VolumeDelete)
- volume.inspect() - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/VolumeInspect)
- volume.remove(options) - [Docker API Endpoint](https://docs.docker.com/reference/api/engine/version/v1.52/#operation/VolumeDelete)

@@ -517,0 +517,0 @@