2016-06-23 22:22:04 +00:00
# Cloudinovasi UI for Docker
2013-06-09 00:12:14 +00:00
2016-06-02 06:09:18 +00:00
A fork of the amazing UI for Docker by Michael Crosby and Kevan Ahlquist (https://github.com/kevana/ui-for-docker) using the rdash-angular theme (https://github.com/rdash/rdash-angular).
2013-06-09 00:12:14 +00:00
2016-06-02 06:09:18 +00:00
![Dashboard ](/dashboard.png )
2013-06-09 00:12:14 +00:00
2016-06-02 06:09:18 +00:00
UI For Docker is a web interface for the Docker Remote API. The goal is to provide a pure client side implementation so it is effortless to connect and manage docker.
2013-06-10 12:59:57 +00:00
2016-06-23 22:22:04 +00:00
## Goals
2014-12-30 19:42:54 +00:00
* Minimal dependencies - I really want to keep this project a pure html/js app.
2013-06-23 18:17:52 +00:00
* Consistency - The web UI should be consistent with the commands found on the docker CLI.
2013-06-10 12:59:57 +00:00
2016-06-23 22:22:04 +00:00
## Run
2016-06-02 06:09:18 +00:00
### Quickstart
2016-06-23 22:22:04 +00:00
2016-06-02 06:09:18 +00:00
1. Run: `docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui`
2013-06-09 00:12:14 +00:00
2016-04-30 02:57:27 +00:00
2. Open your browser to `http://<dockerd host ip>:9000`
2013-06-23 18:17:52 +00:00
2016-06-02 06:09:18 +00:00
Bind mounting the Unix socket into the UI For Docker container is much more secure than exposing your docker daemon over TCP.
2016-04-30 02:57:27 +00:00
2016-06-02 06:09:18 +00:00
The `--privileged` flag is required for hosts using SELinux.
2013-06-09 00:12:14 +00:00
2014-12-30 19:42:54 +00:00
### Specify socket to connect to Docker daemon
2013-12-30 18:40:08 +00:00
2016-04-30 02:57:27 +00:00
By default UI For Docker connects to the Docker daemon with`/var/run/docker.sock`. For this to work you need to bind mount the unix socket into the container with `-v /var/run/docker.sock:/var/run/docker.sock` .
2014-12-30 19:42:54 +00:00
You can use the `-e` flag to change this socket:
2016-06-23 22:22:04 +00:00
```
# Connect to a tcp socket:
$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -e http://127.0.0.1:2375
```
2014-12-30 19:42:54 +00:00
2016-06-16 05:39:59 +00:00
### Swarm support
2016-06-23 22:11:25 +00:00
**Supported Swarm version: 1.2.3**
2016-06-29 09:08:36 +00:00
You can access a specific view for you Swarm cluster by defining the `--swarm` flag:
2016-06-16 05:39:59 +00:00
2016-06-23 22:22:04 +00:00
```
# Connect to a tcp socket and enable Swarm:
2016-06-29 09:08:36 +00:00
$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -e http://< SWARM_HOST > :< SWARM_PORT > --swarm
2016-06-23 22:22:04 +00:00
```
2016-06-16 05:39:59 +00:00
2016-06-23 22:11:25 +00:00
*NOTE*: Due to Swarm not exposing information in a machine readable way, the app is bound to a specific version of Swarm at the moment.
2016-06-16 05:39:59 +00:00
2016-04-30 02:57:27 +00:00
### Change address/port UI For Docker is served on
UI For Docker listens on port 9000 by default. If you run UI For Docker inside a container then you can bind the container's internal port to any external address and port:
2014-12-30 19:42:54 +00:00
2016-06-23 22:22:04 +00:00
```
# Expose UI For Docker on 10.20.30.1:80
$ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui
```
2016-06-23 22:11:49 +00:00
2016-06-23 22:22:04 +00:00
### Hide containers with specific labels
2016-06-23 22:11:49 +00:00
2016-06-23 22:22:04 +00:00
You can hide specific containers in the containers view by using the `-hide-label` or `-l` options and specifying a label.
2016-06-23 22:11:49 +00:00
For example, take a container started with the label `owner=acme` :
```
$ docker run -d --label owner=acme nginx
```
You can hide it in the view by starting the ui with:
```
$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui -l owner=acme
```
2016-06-23 22:22:04 +00:00
### Available options
The following options are available for the `ui-for-docker` binary:
2016-06-29 09:08:36 +00:00
* `--endpoint` , `-e` : Docker deamon endpoint (default: *"/var/run/docker.sock"* )
* `--bind` , `-p` : Address and port to serve UI For Docker (default: *":9000"* )
* `--data` , `-d` : Path to the data folder (default: *"."* )
* `--assets` , `-a` : Path to the assets (default: *"."* )
* `--swarm` , `-s` : Swarm cluster support (default: *false* )
* `--hide-label` , `-l` : Hide containers with a specific label in the UI