Overview of GUI Interfaces for Managing Docker Containers

Overview of GUI Interfaces for Managing Docker Containers

Working with Docker in the console is a familiar routine for many. However, there are instances when a GUI/web interface can prove beneficial even for them. This article presents an overview of the most notable solutions available today, where the authors have attempted to offer more user-friendly (or suitable for specific cases) interfaces for getting acquainted with Docker or even maintaining large installations. Some of the projects are quite young, while others are already fading away...

Portainer

  • Website; GitHub; Gitter.
  • License: Open Source (zlib License and others).
  • OS: Linux, Mac OS X, Windows.
  • Languages/platform: Go, JavaScript (Angular).
  • Demo version (admin / tryportainer).

Overview of GUI Interfaces for Managing Docker Containers

Portainer (formerly known as UI for Docker) is the most popular web interface for working with Docker hosts and Docker Swarm clusters. It is straightforward to deploy — simply by deploying a Docker image with the Docker host address/socket passed as a parameter. It allows you to manage containers, images (capable of pulling them from Docker Hub), networks, volumes, and secrets. It supports Docker 1.10+ (and Docker Swarm 1.2.3+). When viewing containers, basic statistics (resource usage, processes), logs, and console connection (web terminal xterm.js) are available for each. It has its own access lists that allow restricting Portainer users' rights to various operations in the interface.

Kitematic (Docker Toolbox)

Overview of GUI Interfaces for Managing Docker Containers

The standard GUI for Docker users on Mac OS X and Windows, which is part of Docker Toolbox — an installer for a set of utilities that also includes Docker Engine, Compose, and Machine. It has a minimal set of features that provide image downloading from Docker Hub, management of basic container settings (including volumes, networks), log viewing, and console connection.

Shipyard

  • Website; GitHub.
  • License: Open Source (Apache License 2.0).
  • OS: Linux, Mac OS X.
  • Languages/platform: Go, Node.js.

Overview of GUI Interfaces for Managing Docker Containers

Shipyard is not just an interface, but a resource management system for Docker, built around its own API. The API in Shipyard is RESTful based on the JSON format, fully compatible with the Docker Remote API, offering additional capabilities such as authentication, access control management, and logging of all executed operations. This API is the foundation around which the web interface is constructed. For storing operational information not directly related to containers and images, Shipyard uses RethinkDB. The web interface allows managing containers (including viewing statistics and logs, and connecting to the console), images, Docker Swarm cluster nodes, and private registries.

Admiral

  • Website; GitHub.
  • License: Open Source (Apache License 2.0).
  • OS: Linux, Mac OS X, Windows.
  • Languages/platform: Java (VMware Xenon framework).

Overview of GUI Interfaces for Managing Docker Containers

A platform from VMware designed for automated deployment and management of containerized applications throughout their lifecycle. Marketed as a lightweight solution aimed at simplifying the lives of DevOps engineers. The web interface allows management of Docker hosts, containers (including viewing statistics and logs), templates (images integrated with Docker Hub), networks, registries, and policies (which hosts will use which containers and how to allocate resources). It can check the status of containers (health checks). Distributed and deployed as a Docker image. Works with Docker 1.12+. (See also an introduction to the program in VMware's blog with a lot of screenshots.)

DockStation

  • Website; GitHub (without source code).
  • License: proprietary (freeware).
  • OS: Linux, Mac OS X, Windows.
  • Languages/platform: Electron (Chromium, Node.js).

Overview of GUI Interfaces for Managing Docker Containers

DockStation is a young project, created by Belarusian programmers (who, by the way, are looking for investors for its further development). The two main features are its focus on developers (not on DevOps engineers or system administrators) with full support for Docker Compose and the closed nature of the code (free to use, and the authors offer personalized support and enhancements for a fee). It allows not only managing images (with Docker Hub support) and containers (including statistics and logs), but also creating projects visualizing the relationships of containers involved in the project. Additionally, there is a parser (currently in beta) that allows converting commands. docker run in Docker Compose format. Works with Docker 1.10.0+ (Linux) and 1.12.0 (Mac + Windows), Docker Compose 1.6.0+.

Simple Docker UI

  • GitHub.
  • License: Open Source (MIT License).
  • OS: Linux, Mac OS X, Windows.
  • Languages/platform: Electron, Scala.js (+ React on Scala.js).

Overview of GUI Interfaces for Managing Docker Containers

A simple interface for working with Docker, using the Docker Remote API. Allows managing containers and images (with support for Docker Hub), connecting to the console, and viewing event history. Features mechanisms for removing unused containers and images. The project is in beta and evolves very slowly (actual activity, based on commits, has slowed down since February this year).

Other options

Not covered in the review:

  • Rancher — a container management platform that features orchestration capabilities and supports Kubernetes. Open Source (Apache License 2.0); works in Linux; written in Java. Has a web interface. Rancher UI on Node.js.
  • Kontena — a ‘developer-friendly platform for running containers in production’, effectively competing with Kubernetes but marketed as a more ready-to-use, simpler solution. In addition to CLI and REST API, the project offers a web interface (screenshot) for managing the cluster and its orchestration (including working with cluster nodes, services, volumes, secrets), and viewing statistics/logs. Open Source (Apache License 2.0); works in Linux, Mac OS X, Windows; written in Ruby.
  • Data Pulley — a simple utility with minimal features and documentation. Open Source (MIT License); works in Linux (only the package for Ubuntu is available); written in Python. Supports Docker Hub for images, log viewing for containers.
  • Panamax — a project aimed at ‘making the deployment of complex containerized applications as simple as drag-and-drop’. For this purpose, a custom template catalog for app deployment was created (Panamax Public Templates), results from which are displayed when searching for images/applications alongside data from Docker Hub. Open Source (Apache License 2.0); works in Linux, Mac OS X, Windows; written in Ruby. Integrated with CoreOS and the Fleet orchestration system. Judging by the visible activity online, it ceased to be supported in 2015.
  • Docklyconsole a graphical interface for managing Docker containers and images. Open Source (MIT License); written in JavaScript/Node.js.

Finally: what does the GUI look like in Dockly? Caution: GIF of 3.4 MB!Overview of GUI Interfaces for Managing Docker Containers

P.S.

Also read in our blog:

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster