Overview of GUI Interfaces For Managing Docker Containers
Working with Docker in the console is common for many routines. However, there are times when the GUI/Web interface can be useful even for them. The article provides an overview of the most notable solutions to date, the authors of which tried to offer more convenient (or suitable for some cases) interfaces for familiarizing themselves with Docker or even servicing its large installations. Some of the projects are very young, and others – on the contrary, are already dying out.
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).
Portainer (formerly known as UI for Docker) is the most popular web interface for working with Docker hosts and Docker Swarm clusters. It is launched very simply – by deploying a Docker-image, which is passed as the parameter to the address/socket of the Docker-host. Allows you to manage containers, images (can take them from the Docker Hub), networks, volumes, secrets. Supports Docker 1.10+ (and Docker Swarm 1.2.3+). When viewing containers for each of them, basic statistics (resource utilization, processes), logs, connection to the console (web terminal xterm.js) are available. There are their access lists, which allow users of Portainer to restrict the right to various operations in the interface.
Kitematic (Docker Toolbox)
- Website (+ Docker Toolbox page); GitHub; Forum.
- License: Open Source (Apache License 2.0).
- OS: Mac OS X, Windows.
- Languages/platform: Electron, Node.js, React and AltJS.
A standard GUI for Docker users on Mac OS X and Windows, which became part of the Docker Toolbox, an installer for a set of utilities, including the Docker Engine, Compose and Machine. It has a minimum set of functions that provide the loading of images from the Docker Hub, management of the basic settings of containers (including volumes, networks), viewing logs and connecting to the console.
Shipyard
- Website; GitHub.
- License: Open Source (Apache License 2.0).
- OS: Linux, Mac OS X.
- Languages/Platform: Go, Node.js.
The shipyard is not just an interface, but a resource management system Docker, which is based on the availability of its API. The API in Shipyard – RESTful based on the JSON format, is 100% compatible with the Docker Remote API, offers additional features (in particular – authentication and management of access lists, logging of all operations performed). This API is the base around which the web interface is already built. To store service information that does not relate directly to containers and images, Shipyard uses RethinkDB. The web interface allows you to manage containers (including viewing statistics and logs, connecting to the console), images, nodes of the Docker Swarm cluster, private registries.
Admiral
- Website; GitHub.
- License: Open Source (Apache License 2.0).
- OS: Linux, Mac OS X, Windows.
- Languages / Platform: Java (the VMware Xenon framework).
A platform from VMware, designed to automate the deployment of containerized applications and manage them throughout the life cycle. It is positioned as a lightweight solution designed to simplify the life of DevOps engineers. The web interface allows you to manage hosts with Docker, containers (+ statistics and logs), templates (images integrated with Docker Hub), networks, registries, policies (which hosts will be used by which containers and how to allocate resources). Is able to check the status of containers (health checks). Distributed and deployed as a Docker image. Works with Docker 1.12+. (See also getting acquainted with the program in the VMware 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).
DockStation is a young project created by Belarusian programmers (who, by the way, are looking for investors for its further development). Two main features are the developer focus (not on DevOps-engineers or sysadmins) with full support for Docker Compose and closed code (free for use, and for money the authors offer personal support and refinement of features). Allows not only to manage images (supported by Docker Hub) and containers (+ statistics and logs) but also to start projects with visualization of the connections of containers involved in the project. There is also a parser (in beta) that allows you to convert the docker run commands to the 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).
A simple interface for working with Docker, using the Docker Remote API. Allows you to manage containers and images (with Docker Hub support), connect to the console, view the history of events. Has mechanisms for removing unused containers and images. The project is in the beta version and is developing very slowly (real activity, judging by the commits, subsided in February this year).
Another Options
- The rancher is a content management platform with orchestration and support for Kubernetes. Open Source (Apache License 2.0); works in Linux; is written in Java. Has a web interface Rancher UI on Node.js.
- Kontena is a “developer-friendly platform for launching containers in production”, essentially competing with Kubernetes, but positioned as a more ready-made “out of the box” and an easy-to-use solution. In addition to CLI and REST API, the project offers a web interface (screenshot) for cluster management and its orchestration (including working with cluster nodes, services, volumes, secrets), statistics/logs. Open Source (Apache License 2.0); works in Linux, Mac OS X, Windows; written in Ruby.
- Data Pulley is a simple utility with a minimum of functions and documentation. Open Source (MIT License); works in Linux (there is only a package for Ubuntu); written in Python. Supports Docker Hub for images, view logs for containers.
- Panamax is a project aimed at “making the deletion of complex containerized applications as simple as drag-n-drop.” To do this, I created my own templates directory for the application (Panamax Public Templates), the results from which are shown when searching for images/applications on a par with data from the Docker Hub. Open Source (Apache License 2.0); works in Linux, Mac OS X, Windows; is written in Ruby. It is integrated with CoreOS OS and Fleet orchestration system. Judging by the activity visible on the Internet, it ceased to be supported in 2015.
- Docky is a console GUI for managing containers and Docker images. Open Source (MIT License); is written in JavaScript/Node.js