Dockly

Immersive terminal interface for managing docker containers and services

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](./SECURITY.md
) dockly

Dockly has been highlighted, featured and chosen as favorite docker container management tool on:
Awesome Docker [![DevOps Weekly](https://img.shields.io/badge/DevOpsWeekly-%F0%9F%95%B6-yellow.svg
)](http://devopsweekly.com)  [![terminals are sexy](https://img.shields.io/badge/TerminalsAreSexy-%F0%9F%92%BB-green.svg
)](https://github.com/k4m4/terminals-are-sexy) [![Programmer's Weekly](https://img.shields.io/badge/ProgrammersWeekly-%F0%9F%95%B6-purple.svg
)](https://mailchi.mp/programmerweekly/programmer-weekly-issue-94?e=e8c11d0390) [![Console.dev](https://img.shields.io/badge/ConsoleDotDev-%F0%9F%95%B6-blue.svg
)](https://console.dev/tools/)

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

  1. ``` js
  2. npm install -g dockly
  3. ```

Usage


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

  1. ```
  2. dockly
  3. ```

Command line options:


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

ParamTypeDescription
---------
-sstringDocker
-HstringRemote
-PstringRemote
-T`http``https`
--containerFiltersstringString
-hnullDisplay
-vnullDisplay

--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:

  1. ```
  2. docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock lirantal/dockly
  3. ```


Build


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

  1. ```
  2. $ docker build -t dockly .

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

FAQ


1. Unsupported Node.js version

If you're getting the following error in your CLI:
  1. ```
  2. root@neo:~# dockly
  3. /usr/local/lib/node_modules/dockly/src/screen.js:36
  4. constructor (utils = new Map()) {
  5. ^

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

Or this kind of error:
  1. ```
  2. Trace: TypeError: Object.values is not a function                                                                                                            
  3.     at screen.toggleMode (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/src/screen.js:149:35)
  4.     at Screen.screen.key (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/src/screen.js:190:12)
  5.     at Screen.EventEmitter._emit
  6.     (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/node_modules/blessed/lib/events.js:98:20)
  7. ```

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

2. PuTTY displays garbled text

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

3. Icons not working properly

set LANG and LC_ALL to c.UTF-8 like so
  1. ``` sh
  2. export LANG=C.UTF-8
  3. export LC_ALL=C.UTF-8
  4. ```
for more info please see this issue

Alternatives


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

In the news


- Admin Magazine article: [Visualizing containers with clarity
](https://www.admin-magazine.com/Articles/Visualizing-containers-with-clarity)

Author

Liran Tal