awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apocas avatar

apocas/dockerode

0
View on GitHub↗
4,910 stars·488 forks·JavaScript·Apache-2.0·8 views

Dockerode

Dockerode is a Node.js library that provides programmatic management of Docker containers, images, and volumes by acting as a wrapper for the Docker Remote API. It enables JavaScript applications to interact with a Docker engine via Unix sockets or TCP network interfaces.

The project covers container lifecycle management, including launching instances and executing commands with bidirectional input and output streaming. It also provides capabilities for building container images, pulling images from registries, and configuring virtual networks.

Additional functionality includes the coordination of cluster services and the management of persistent volumes and secure secrets. The library also supports the installation and lifecycle control of external system plugins.

Features

  • Programmatic Container Management - Provides a complete Node.js library for controlling Docker containers, images, and volumes via the Remote API.
  • REST API Clients - Provides a JavaScript client-side implementation for interacting with the Docker Remote API using HTTP methods.
  • Container Image Building - Generates portable environment images from configuration files and local source files.
  • Remote Image Pulling - Downloads pre-built environment images from remote public or private registries using secure authentication.
  • Combined Image-to-Instance Launching - Combines image retrieval and environment creation into a single operation that streams output to a destination.
  • Container Command Executors - Allows executing specific processes and binaries inside active containers and capturing their output.
  • Docker Engine API Clients - Provides a programmatic SDK to interact with the Docker Engine API for monitoring logs and executing commands.
  • Docker Daemon Sockets - Enables direct communication with the Docker engine via local Unix sockets or remote TCP endpoints.
  • Container Lifecycle Management - Provides comprehensive controls to create, start, stop, and remove container instances while monitoring status.
  • Docker Volume Persistence - Enables the programmatic creation and management of Docker volumes to ensure data persistence across container lifecycles.
  • Container Lifecycle Automation - Enables automated management of container deployment, scaling, and maintenance within custom workflows.
  • Cluster Coordination - Coordinates the deployment and scaling of services across a distributed cluster and retrieves operational logs.
  • Container CI/CD Pipelines - Supports building automated pipelines that programmatically create, build, and test Docker images.
  • Container I/O and Signal Forwarders - Facilitates bidirectional communication with running processes by forwarding standard output and error streams.
  • Duplex Socket Wrappers - Wraps network sockets into duplex stream interfaces for real-time bidirectional container input and output.
  • Virtual Network Management - Creates and configures virtual networks to control communication and isolation between containers via API.
  • Test Environment Provisioning - Automates the setup and configuration of isolated Docker network and storage environments for testing.
  • API Clients - Node.js client for the Docker API.
  • API Clients And Plugins - Node.js module for Docker Remote API.

Star history

Star history chart for apocas/dockerodeStar history chart for apocas/dockerode

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does apocas/dockerode do?

Dockerode is a Node.js library that provides programmatic management of Docker containers, images, and volumes by acting as a wrapper for the Docker Remote API. It enables JavaScript applications to interact with a Docker engine via Unix sockets or TCP network interfaces.

What are the main features of apocas/dockerode?

The main features of apocas/dockerode are: Programmatic Container Management, REST API Clients, Container Image Building, Remote Image Pulling, Combined Image-to-Instance Launching, Container Command Executors, Docker Engine API Clients, Docker Daemon Sockets.

What are some open-source alternatives to apocas/dockerode?

Open-source alternatives to apocas/dockerode include: testcontainers/testcontainers-dotnet — Testcontainers for .NET is a Docker testing library and integration testing framework designed to manage the lifecycle… docker/docker-py — docker-py is a Python library and SDK that serves as a programmatic client for the Docker Engine API. It provides a… collabnix/dockerlabs — dockerlabs is a collection of educational labs and technical tutorials designed to teach the fundamentals of… docker-archive-public/docker.kitematic — Kitematic is a graphical user interface for managing and running Docker containers on desktop operating systems. It… containers/crun — crun is a low-level container runtime that implements the Open Container Initiative specification for managing the… eon01/dockercheatsheet — This project is a comprehensive reference guide and cheat sheet for the Docker CLI. It provides a structured…

Open-source alternatives to Dockerode

Similar open-source projects, ranked by how many features they share with Dockerode.
  • testcontainers/testcontainers-dotnettestcontainers avatar

    testcontainers/testcontainers-dotnet

    4,317View on GitHub↗

    Testcontainers for .NET is a Docker testing library and integration testing framework designed to manage the lifecycle of throwaway containers. It provides high-level abstractions as a Docker API wrapper to provision ephemeral infrastructure, replacing mocks with real database, messaging, and search engine instances to ensure isolated and reproducible test environments. The project distinguishes itself through a builder-configuration-container pattern and a dynamic port binding mechanism that prevents collisions during concurrent test execution. It enables reliable service-to-service communic

    C#automationdockerdotnet
    View on GitHub↗4,317
  • docker/docker-pydocker avatar

    docker/docker-py

    7,184View on GitHub↗

    docker-py is a Python library and SDK that serves as a programmatic client for the Docker Engine API. It provides a programmatic interface for controlling containers, images, and clusters, allowing for the automation of containerized applications and engine resources. The library enables remote Docker administration through various transport methods, including Unix domain sockets, TCP ports, and encrypted SSH tunnels. It handles real-time data links by using WebSockets to stream input and output from active containers. The project covers container lifecycle control, image management for buil

    Python
    View on GitHub↗7,184
  • collabnix/dockerlabscollabnix avatar

    collabnix/dockerlabs

    8,008View on GitHub↗

    dockerlabs is a collection of educational labs and technical tutorials designed to teach the fundamentals of containerization and microservice architecture. It provides instructional material and hands-on exercises covering image optimization, security training, infrastructure setup, and cluster orchestration. The project features specific courses and guides focused on reducing image size through multi-stage builds, securing workloads via vulnerability scanning and encrypted networks, and deploying multi-node clusters with high availability using Swarm orchestration. The materials cover a br

    PHPadvancebeginnersdocker
    View on GitHub↗8,008
  • containers/cruncontainers avatar

    containers/crun

    3,975View on GitHub↗

    crun is a low-level container runtime that implements the Open Container Initiative specification for managing the lifecycle of isolated processes. It provides the core mechanisms for container creation, execution, and deletion, ensuring compatibility across platforms through standardized lifecycle management. The project distinguishes itself by offering a shared C library that allows container runtime operations to be embedded directly into other compiled applications. It further extends execution capabilities through specialized handlers that enable the deployment of containers within isola

    Ccontainersiotiot-cloud
    View on GitHub↗3,975
See all 30 alternatives to Dockerode→