Skip to content

Overview

Docker2go is an app for Android devices which allows you to manage your Docker Host on the go. The application (of course) does not cover the full functionality of Docker.

Feel free to contribute. More in section Contributing

Screenshots

Connection view Information view Images view Container view Container bottom sheet Container details

Concept

Docker2go leverages Dockers unix socket to talk to it's JSON API. The application connects through a SSH tunnel to the remote Host.

The SSH tunnel is created with the third party library JSch.

Then, the app does execute a curl command over the CLI. Docker2go uses Dockers HTTP API which is based on JSON. The output of the API (JSON formatted) is then parsed using Googles gson Library to use it as Java objects.

Concept Diagram This concept diagram gives an idea how the application works.

Features

The app currently provides the following funcionalities:

Connections are displayed when Docker2go is started. It diplays all saved connection as Cards which includes operating system's logo as profile picture

  • Add connection to a remote host
  • Edit a connection
  • Delete a connection

Basic information is showed when a connection to a remote host is initiated Connecting to a remote host does perform a static host key check.

  • Operating System
  • Server version (Docker daemon version)
  • Memory and CPU
  • Overview of running and stopped containers (pie chart)
  • Swarm mode (if enabled)

Containers are printed out in a list where the following information gets displayed

  • Name
  • Status (running/stopped/exit code)
  • Created time
  • Image (gets showed on click)
  • Port mappings

By clicking on a container actions depending on container state may be taken

  • Inspect
  • Restart (if running)
  • Start (if stopped/paused)
  • Stop (if running)
  • Remove

Inspecting a container gives more detailed information about the desired container.

Images are printed out in a list where the following information gets displayed

  • Name
  • Tag with shortened SHA
  • Created time
  • Size

Actions

  • Pull Image
  • Prune Images

Third party libraries

Docker2go uses several third party libraries. Every used library is listed below with notes about the specific use case.

Library Name Version License Use case
JSch 0.1.54 BSD-style Used to create secure tunnel to the remote Docker host.
SugarORM 1.4 MIT Used to store connection data (Hostname, User, Port, ...)
Gson 2.8.0 Apache-2.0 Used to parse JSON calls to Java Objects
MPAndroidChart 2.2.4 Apache-2.0 Used to draw charts (running/stopped container chart)

Contributing

If you find a bug, have a question want a feature, etc. drop an issue in the project issue tracker.

Of course you may also submit a pull request which already fixes a bug or adds a feature. Just make sure it is well tested and maybe also documented.

For this, use GitHubs fork mechanism.