Skip to content

This simple function removes all of the docker header bytes from the stream buffer from the container.

Notifications You must be signed in to change notification settings

Nathan219/docker-stream-cleanser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM

Build Status

Docker Stream Cleanser

Docker Stream Cleanser is a drop-in module to clean the headers from Docker Logs (container attach or container logs)

  • Removes headers from a Docker logs streams and keeps payload
  • Handles any encoding (Ones compatible with Node.js Buffer)

Seeing weird characters at the beginning of each line coming from your Docker container's log stream? This will clear that right up! Docker places a header on each message to help you determine which stream (stdout or stderr) a message should belong to. Thanks Docker, but I just want to read the output! Since there is no setting to turn off this functionality, I wrote this.

More info on Docker's Container Logs

Usage

Usage with Docker Data Stream

const StreamCleanser = require('docker-stream-cleanser');
const streamCleanser = new StreamCleanser()
dockerLogStream
  .pipe(streamCleanser)
  .pipe(/* stream */);

Usage with Dockerode

const Docker = require('dockerode');
const container = new Docker().getContainer(containerId);

const StreamCleanser = require('docker-stream-cleanser');
const streamCleanser = new StreamCleanser()

container.logs({ stderr: true, stdout: true }, function (err, stream) {
  stream
    .pipe(streamCleanser)
    .pipe(/* stream */);
});

Installation

npm install docker-stream-cleanser --save

License

MIT

About

This simple function removes all of the docker header bytes from the stream buffer from the container.

Resources

Stars

Watchers

Forks

Packages

No packages published