portainer/README.md

83 lines
3.2 KiB
Markdown
Raw Normal View History

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
* 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
### 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`.
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
```
### Swarm support
**Supported Swarm version: 1.2.3**
You can access a specific view for you Swarm cluster by defining the `--swarm` flag:
2016-06-23 22:22:04 +00:00
```
# Connect to a tcp socket and enable Swarm:
$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -e http://<SWARM_HOST>:<SWARM_PORT> --swarm
2016-06-23 22:22:04 +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-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:
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:22:04 +00:00
### Hide containers with specific labels
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.
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:
* `--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