Home

Awesome

<p align="center"> <br> <img width="200" src="https://user-images.githubusercontent.com/316371/28937414-67ee5ffa-7893-11e7-95f9-5059cacf9170.png"> <br> Immersive terminal interface for managing docker containers, services and images </p>

Node Version view on npm view on npm npm module downloads Security Responsible Disclosure dockly

Dockly has been highlighted, featured and chosen as favorite docker container management tool on:

Awesome Docker DevOps Weekly terminals are sexy Programmer's Weekly Console.dev

<a href="https://console.dev" title="Visit Console - the best tools for developers"><img src="https://console.dev/img/badges/1.0/png/console-badge-pick-green1-dark.png" alt="Console - Developer Tool of the Week" /></a>

dockly-demo-2

Install

Install the API module as a dependency in your project so you can easily use it to query Operations Orchestration REST API

npm install -g dockly

Usage

Just fire up dockly and it will automatically connect to your localhost docker daemon through the unix socket:

dockly

Command line options:

It's also possible to provide command line options for dockly to customize the docker connection

ParamTypeDescription
-s or --socketPathstringDocker socket to connect to
-H or --hoststringRemote docker daemon host to connect to
-P or --portstringRemote docker port to connect to
-T or --protocolhttp | https | sshRemote docker protocol to connect to
--containerFiltersstringString to apply to filter shown containers
-h or --helpnullDisplay help
-v or --versionnullDisplay version information

--containerFilters

This is a string that could be used to filter the shown containers; its format is in the x-www-form-urlencoded style and the filters you could apply are listed here: https://docs.docker.com/engine/api/v1.37/#operation/ContainerList

Example: --containerFilters="name=test&status=running" to only show running container which name match test.

Docker Support

Run from docker

You can run dockly using docker:

docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock lirantal/dockly

Build

If you wish to build dockly as a docker image yourself, you can run the following:

$ docker build -t dockly .

$ docker run -it --rm --name dockly -v /var/run/docker.sock:/var/run/docker.sock dockly

FAQ

  1. Unsupported Node.js version

If you're getting the following error in your CLI:

root@neo:~# dockly
/usr/local/lib/node_modules/dockly/src/screen.js:36
constructor (utils = new Map()) {
^

SyntaxError: Unexpected token =
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)

Or this kind of error:

Trace: TypeError: Object.values is not a function                                                                                                            
    at screen.toggleMode (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/src/screen.js:149:35)
    at Screen.screen.key (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/src/screen.js:190:12)
    at Screen.EventEmitter._emit
    (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/node_modules/blessed/lib/events.js:98:20)

This is most likely because you're using an unsupported Node.js version. Dockly requires Node.js v7.6 and above

  1. PuTTY displays garbled text

Follow the steps in this comment to enable VT100 support on the settings for the window

  1. Icons not working properly

set LANG and LC_ALL to c.UTF-8 like so

export LANG=C.UTF-8
export LC_ALL=C.UTF-8

for more info please see this issue

Alternatives

See Awesome Docker list for similar tools to work with Docker.

In the news

Author

Liran Tal liran.tal@gmail.com

<hr/> <div align="center"> <p> <a href="https://nodejs-security.com"> <img alt="Node.js Security" align="center" src="https://img.shields.io/badge/%F0%9F%A6%84-Learn%20Node.js%20Security%E2%86%92-gray.svg?colorA=5734F5&colorB=5734F5&style=flat" /> </a> </p>

Screenshot 2024-09-12 at 20 08 07

<p> Learn Node.js Secure Coding techniques and best practices from <a href="https://www.lirantal.com">Liran Tal</a> </p> </div> <br/>