
Security News
CVE Volume Surges Past 48,000 in 2025 as WordPress Plugin Ecosystem Drives Growth
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.
docker-compose-run
Advanced tools
This module executes Docker Compose 'run' commands using specific Docker Compose configuration files. The idea is to be able to capture the detail of a particular application and how it should be run, in simple, shareable files.
For an explanation of the thinking behind this module see the blog post Disposable Laptops With Docker Compose And NPM.
An example would be to create a way to run Jekyll commands without having to install Jekyll on our desktop.
First create a docker-compose.yml file that describes how to run the Jekyll command, and how to make it accessible to the desktop:
version: "2"
services:
jekyll:
image: jekyll/jekyll
ports:
- "4000:4000"
volumes:
- ${PWD}:/srv/jekyll
Then create a shell script that uses this module; it could be called anything, but we'll call it dcr-jekyll.js:
#!/usr/bin/env node
var dcr = require('docker-compose-run');
dcr('jekyll', __dirname, 'jekyll'));
Now when we run this script with a Jekyll command, a Docker container will be created and launched, and our command will be passed in to it:
$ ./dcr-jekyll --help
jekyll 3.4.3 -- Jekyll is a blog-aware, static site generator in Ruby
Usage:
jekyll <subcommand> [options]
Options:
-s, --source [DIR] Source directory (defaults to ./)
-d, --destination [DIR] Destination directory (defaults to ./_site)
--safe Safe mode (defaults to false)
-p, --plugins PLUGINS_DIR1[,PLUGINS_DIR2[,...]] Plugins directory (defaults to ./_plugins)
--layouts DIR Layouts directory (defaults to ./_layouts)
--profile Generate a Liquid rendering profile
-h, --help Show this message
-v, --version Print the name and version
-t, --trace Show the full backtrace when an error occurs
Subcommands:
import
build, b Build your site
clean Clean the site (removes site output and metadata file) without building.
doctor, hyde Search site and print specific deprecation warnings
help Show the help message, optionally for a given subcommand.
new Creates a new Jekyll site scaffold in PATH
new-theme Creates a new Jekyll theme scaffold
serve, server, s Serve your site locally
docs, d Start a local server for the Jekyll documentation
The module provides a single function that takes three parameters:
docker-compose.yml file is located, and;The service name must match the key in the Docker Compose file. The application parameter is the name of the command to run within the Docker container.
Note that the application name can be omitted if the Docker image has been set up in such a way that it's not needed. This will be the case if the ENTRYPOINT has been set in the Dockerfile.
Any additional parameters passed will be appended to the run command. For example, if this command was run:
$ ./dcr-jekyll help build
the values help and build would be passed to the Docker Compose run command.
FAQs
Execute a Docker Compose 'run' command for desktop commands.
We found that docker-compose-run demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.