DockerUI => UI For Docker

pull/2/head
Kevan Ahlquist 2016-04-29 21:57:27 -05:00
parent 02d4161ddd
commit 1b206f223f
14 changed files with 50 additions and 54 deletions

View File

@ -3,4 +3,4 @@ FROM scratch
COPY dist / COPY dist /
EXPOSE 9000 EXPOSE 9000
ENTRYPOINT ["/dockerui"] ENTRYPOINT ["/ui-for-docker"]

View File

@ -1,4 +1,4 @@
DockerUI: Copyright (c) 2013-2014 Michael Crosby. crosbymichael.com UI For Docker: Copyright (c) 2013-2016 Michael Crosby (crosbymichael.com), Kevan Ahlquist (kevanahlquist.com)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@ -1,7 +1,7 @@
## DockerUI ## UI For Docker
![Containers](/containers.png) ![Containers](/containers.png)
DockerUI 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. This project is not complete and is still under heavy development. 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.
![Container](/container.png) ![Container](/container.png)
@ -11,35 +11,30 @@ DockerUI is a web interface for the Docker Remote API. The goal is to provide a
* Consistency - The web UI should be consistent with the commands found on the docker CLI. * Consistency - The web UI should be consistent with the commands found on the docker CLI.
### Quickstart ### Quickstart
``` 1. Run: `docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker`
git clone https://github.com/kevana/ui-for-docker.git
cd ui-for-docker 2. Open your browser to `http://<dockerd host ip>:9000`
npm install
npm install -g grunt-cli
# Make sure your Docker daemon is running
grunt run # Takes a while, will build the image locally as dockerui:latest and run it
# Open your browser to `http://<dockerd host ip>:9000`
```
Bind mounting the Unix socket into the DockerUI container is much more secure than exposing your docker daemon over TCP. The `--privileged` flag is required for hosts using SELinux. You should still secure your DockerUI instance behind some type of auth. Directions for using Nginx auth are [here](https://github.com/crosbymichael/dockerui/wiki/Dockerui-with-Nginx-HTTP-Auth).
Bind mounting the Unix socket into the UI For Docker container is much more secure than exposing your docker daemon over TCP. The `--privileged` flag is required for hosts using SELinux. You should still secure your UI For Docker instance behind some type of auth. Directions for using Nginx auth are [here](https://github.com/kevana/ui-for-docker/wiki/Dockerui-with-Nginx-HTTP-Auth).
### Specify socket to connect to Docker daemon ### Specify socket to connect to Docker daemon
By default DockerUI 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`. 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: You can use the `-e` flag to change this socket:
# Connect to a tcp socket: # Connect to a tcp socket:
$ docker run -d -p 9000:9000 --privileged dockerui/dockerui -e http://127.0.0.1:2375 $ docker run -d -p 9000:9000 --privileged uifd/ui-for-docker -e http://127.0.0.1:2375
### Change address/port DockerUI is served on ### Change address/port UI For Docker is served on
DockerUI listens on port 9000 by default. If you run DockerUI inside a container then you can bind the container's internal port to any external address and port: 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:
# Expose DockerUI on 10.20.30.1:80 # 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 dockerui/dockerui $ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
### Check the [wiki](//github.com/crosbymichael/dockerui/wiki) for more info about using dockerui ### Check the [wiki](https://github.com/kevana/ui-for-docker/wiki) for more info about using UI For Docker
### Stack ### Stack
* [Angular.js](https://github.com/angular/angular.js) * [Angular.js](https://github.com/angular/angular.js)
@ -58,11 +53,11 @@ DockerUI listens on port 9000 by default. If you run DockerUI inside a container
### License - MIT ### License - MIT
The DockerUI code is licensed under the MIT license. The UI For Docker code is licensed under the MIT license.
**DockerUI:** **UI For Docker:**
Copyright (c) 2014 Michael Crosby. crosbymichael.com Copyright (c) 2013-2016 Michael Crosby (crosbymichael.com), Kevan Ahlquist (kevanahlquist.com)
Permission is hereby granted, free of charge, to any person Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation obtaining a copy of this software and associated documentation

View File

@ -1,5 +1,5 @@
angular.module('dockerui', [ angular.module('uifordocker', [
'dockerui.templates', 'uifordocker.templates',
'ngRoute', 'ngRoute',
'dockerui.services', 'dockerui.services',
'dockerui.filters', 'dockerui.filters',

View File

@ -5,7 +5,7 @@
<div class="row"> <div class="row">
<div class="col-xs-10" id="masthead" style="display:none"> <div class="col-xs-10" id="masthead" style="display:none">
<div class="jumbotron"> <div class="jumbotron">
<h1>DockerUI</h1> <h1>UI For Docker</h1>
<p class="lead">The UI for Docker container engine</p> <p class="lead">The UI for Docker container engine</p>
<a class="btn btn-large btn-success" href="http://docker.io">Learn more.</a> <a class="btn btn-large btn-success" href="http://docker.io">Learn more.</a>

View File

@ -1,6 +1,6 @@
<footer class="center well"> <footer class="center well">
<p> <p>
<small>Docker API Version: <strong>{{ apiVersion }}</strong> UI Version: <strong>{{ uiVersion }}</strong> <a <small>Docker API Version: <strong>{{ apiVersion }}</strong> UI Version: <strong>{{ uiVersion }}</strong> <a
class="pull-right" href="https://github.com/crosbymichael/dockerui">dockerui</a></small> class="pull-right" href="https://github.com/kevana/ui-for-docker">UI For Docker</a></small>
</p> </p>
</footer> </footer>

View File

@ -1,5 +1,5 @@
<div class="masthead"> <div class="masthead">
<h3 class="text-muted">DockerUI</h3> <h3 class="text-muted">UI For Docker</h3>
<div class="col-xs-11"> <div class="col-xs-11">
<ul class="nav well"> <ul class="nav well">

View File

@ -1,13 +1,14 @@
{ {
"name": "dockerui", "name": "uifordocker",
"version": "0.10.1-beta", "version": "0.10.1-beta",
"homepage": "https://github.com/crosbymichael/dockerui", "homepage": "https://github.com/kevana/ui-for-docker",
"authors": [ "authors": [
"Michael Crosby <crosbymichael@gmail.com>", "Michael Crosby <crosbymichael@gmail.com>",
"Kevan Ahlquist <ahlqu039@umn.edu>" "Kevan Ahlquist <ahlquistkd@gmail.com>"
], ],
"description": "A web interface for the Docker Remote API.", "description": "A web interface for the Docker Remote API.",
"keywords": [ "keywords": [
"uifordocker",
"dockerui", "dockerui",
"docker", "docker",
"api" "api"

View File

@ -1,4 +1,4 @@
package main // import "github.com/crosbymichael/dockerui" package main // import "github.com/kevana/ui-for-docker"
import ( import (
"flag" "flag"
@ -18,7 +18,7 @@ import (
var ( var (
endpoint = flag.String("e", "/var/run/docker.sock", "Dockerd endpoint") endpoint = flag.String("e", "/var/run/docker.sock", "Dockerd endpoint")
addr = flag.String("p", ":9000", "Address and port to serve dockerui") addr = flag.String("p", ":9000", "Address and port to serve UI For Docker")
assets = flag.String("a", ".", "Path to the assets") assets = flag.String("a", ".", "Path to the assets")
authKey []byte authKey []byte
authKeyFile = "authKey.dat" authKeyFile = "authKey.dat"

View File

@ -1,4 +1,4 @@
# DockerUI with Swarm # UI For Docker with Swarm
This example works with swarm clusters created with docker-machine. This example works with swarm clusters created with docker-machine.

View File

@ -1,5 +1,5 @@
dockerui: dockerui:
image: dockerui/dockerui image: uifd/ui-for-docker
command: -e http://127.0.0.1:2375 command: -e http://127.0.0.1:2375
net: "host" net: "host"

View File

@ -86,7 +86,7 @@ module.exports = function (grunt) {
}, },
clean: { clean: {
all: ['<%= distdir %>/*'], all: ['<%= distdir %>/*'],
app: ['<%= distdir %>/*', '!<%= distdir %>/dockerui'], app: ['<%= distdir %>/*', '!<%= distdir %>/ui-for-docker'],
tmpl: ['<%= distdir %>/templates'] tmpl: ['<%= distdir %>/templates']
}, },
copy: { copy: {
@ -244,28 +244,28 @@ module.exports = function (grunt) {
}, },
shell: { shell: {
buildImage: { buildImage: {
command: 'docker build --rm -t dockerui .' command: 'docker build --rm -t ui-for-docker .'
}, },
buildBinary: { buildBinary: {
command: [ command: [
'docker run --rm -v $(pwd):/src centurylink/golang-builder', 'docker run --rm -v $(pwd):/src centurylink/golang-builder',
'shasum dockerui > dockerui-checksum.txt', 'shasum ui-for-docker > ui-for-docker-checksum.txt',
'mkdir -p dist', 'mkdir -p dist',
'mv dockerui dist/' 'mv ui-for-docker dist/'
].join(' && ') ].join(' && ')
}, },
run: { run: {
command: [ command: [
'docker stop dockerui', 'docker stop ui-for-docker',
'docker rm dockerui', 'docker rm ui-for-docker',
'docker run --privileged -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --name dockerui dockerui' 'docker run --privileged -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --name ui-for-docker ui-for-docker'
].join(';') ].join(';')
}, },
runSwarm: { runSwarm: {
command: [ command: [
'docker stop dockerui', 'docker stop ui-for-docker',
'docker rm dockerui', 'docker rm ui-for-docker',
'docker run --net=host -d --name dockerui dockerui -e http://127.0.0.1:2374' 'docker run --net=host -d --name ui-for-docker ui-for-docker -e http://127.0.0.1:2374'
].join(';') ].join(';')
}, },
cleanImages: { cleanImages: {
@ -275,7 +275,7 @@ module.exports = function (grunt) {
'if': { 'if': {
binaryNotExist: { binaryNotExist: {
options: { options: {
executable: 'dist/dockerui' executable: 'dist/ui-for-docker'
}, },
ifFalse: ['shell:buildBinary'] ifFalse: ['shell:buildBinary']
} }

View File

@ -2,7 +2,7 @@
<html lang="en" ng-app="<%= pkg.name %>"> <html lang="en" ng-app="<%= pkg.name %>">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>DockerUI</title> <title>UI For Docker</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content="<%= pkg.author %>"> <meta name="author" content="<%= pkg.author %>">

View File

@ -1,19 +1,19 @@
{ {
"author": "Michael Crosby & Kevan Ahlquist", "author": "Michael Crosby & Kevan Ahlquist",
"name": "dockerui", "name": "uifordocker",
"homepage": "https://github.com/crosbymichael/dockerui", "homepage": "https://github.com/kevana/ui-for-docker",
"version": "0.10.1-beta", "version": "0.10.1-beta",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git@github.com:crosbymichael/dockerui.git" "url": "git@github.com:kevana/ui-for-docker.git"
}, },
"bugs": { "bugs": {
"url": "https://github.com/crosbymichael/dockerui/issues" "url": "https://github.com/kevana/ui-for-docker/issues"
}, },
"licenses": [ "licenses": [
{ {
"type": "MIT", "type": "MIT",
"url": "https://raw.githubusercontent.com/crosbymichael/dockerui/master/LICENSE" "url": "https://raw.githubusercontent.com/kevana/ui-for-docker/master/LICENSE"
} }
], ],
"engines": { "engines": {