Dockly

Immersive terminal interface for managing docker containers and services
GitHub
3.8k
Created 8 years ago, last commit 2 months ago
25 contributors
299 commits
Stars added on GitHub, month by month
11
12
1
2
3
4
5
6
7
8
9
10
2023
2024
Stars added on GitHub, per day, on average
Yesterday
+1
Last week
+1.0
/day
Last month
+0.5
/day
Last 12 months
+0.6
/day
npmPackage on NPM
dockly
3.24.3
Monthly downloads on NPM
11
12
1
2
3
4
5
6
7
8
9
10
2023
2024
README



Immersive terminal interface for managing docker containers, services and images

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

Console - Developer Tool of the Week

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

Param Type Description
-s or --socketPath string Docker socket to connect to
-H or --host string Remote docker daemon host to connect to
-P or --port string Remote docker port to connect to
-T or --protocol http | https | ssh Remote docker protocol to connect to
--containerFilters string String to apply to filter shown containers
-h or --help null Display help
-v or --version null Display 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


Node.js Security

Screenshot 2024-09-12 at 20 08 07

Learn Node.js Secure Coding techniques and best practices from Liran Tal