2013-06-15 00:37:00 +00:00
|
|
|
<div class="detail">
|
2015-03-31 21:37:03 +00:00
|
|
|
|
2015-03-12 21:28:01 +00:00
|
|
|
<div ng-if="!container.edit">
|
|
|
|
<h4>Container: {{ container.Name }}
|
|
|
|
<button class="btn btn-primary"
|
2015-03-31 21:37:03 +00:00
|
|
|
ng-click="container.edit = true;">Rename
|
|
|
|
</button>
|
2015-03-12 21:28:01 +00:00
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div ng-if="container.edit">
|
|
|
|
<h4>
|
|
|
|
Container:
|
|
|
|
<input type="text" ng-model="container.newContainerName">
|
|
|
|
<button class="btn btn-success"
|
2015-09-03 11:00:43 +00:00
|
|
|
ng-click="renameContainer()">Save
|
2015-03-31 21:37:03 +00:00
|
|
|
</button>
|
2015-03-12 21:28:01 +00:00
|
|
|
<button class="btn btn-danger"
|
|
|
|
ng-click="container.edit = false;">×</button>
|
|
|
|
</h4>
|
|
|
|
</div>
|
2013-06-09 00:12:14 +00:00
|
|
|
|
|
|
|
<div class="btn-group detail">
|
2015-03-31 21:37:03 +00:00
|
|
|
<button class="btn btn-success"
|
|
|
|
ng-click="start()"
|
|
|
|
ng-show="!container.State.Running">Start
|
|
|
|
</button>
|
|
|
|
<button class="btn btn-warning"
|
|
|
|
ng-click="stop()"
|
|
|
|
ng-show="container.State.Running && !container.State.Paused">Stop
|
|
|
|
</button>
|
|
|
|
<button class="btn btn-danger"
|
|
|
|
ng-click="kill()"
|
|
|
|
ng-show="container.State.Running && !container.State.Paused">Kill
|
|
|
|
</button>
|
|
|
|
<button class="btn btn-info"
|
|
|
|
ng-click="pause()"
|
|
|
|
ng-show="container.State.Running && !container.State.Paused">Pause
|
|
|
|
</button>
|
|
|
|
<button class="btn btn-success"
|
|
|
|
ng-click="unpause()"
|
|
|
|
ng-show="container.State.Running && container.State.Paused">Unpause
|
|
|
|
</button>
|
2015-05-12 05:52:12 +00:00
|
|
|
<button class="btn btn-success"
|
|
|
|
ng-click="restart()"
|
|
|
|
ng-show="container.State.Running && !container.State.Stopped">Restart
|
|
|
|
</button>
|
2015-05-12 16:53:19 +00:00
|
|
|
<button class="btn btn-primary"
|
|
|
|
ng-click="commit()"
|
|
|
|
ng-show="container.State.Running && !container.State.Paused">Commit
|
|
|
|
</button>
|
2013-06-09 00:12:14 +00:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<table class="table table-striped">
|
2015-03-31 21:37:03 +00:00
|
|
|
<tbody>
|
|
|
|
<tr>
|
|
|
|
<td>Created:</td>
|
|
|
|
<td>{{ container.Created }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Path:</td>
|
|
|
|
<td>{{ container.Path }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Args:</td>
|
|
|
|
<td>{{ container.Args }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Exposed Ports:</td>
|
|
|
|
<td>
|
|
|
|
<ul>
|
|
|
|
<li ng-repeat="(k, v) in container.Config.ExposedPorts">{{ k }}</li>
|
|
|
|
</ul>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Environment:</td>
|
|
|
|
<td>
|
|
|
|
<ul>
|
|
|
|
<li ng-repeat="k in container.Config.Env">{{ k }}</li>
|
|
|
|
</ul>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2014-08-07 02:06:05 +00:00
|
|
|
|
2015-03-31 21:37:03 +00:00
|
|
|
<tr>
|
|
|
|
<td>Publish All:</td>
|
|
|
|
<td>{{ container.HostConfig.PublishAllPorts }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Ports:</td>
|
|
|
|
<td>
|
|
|
|
<ul style="display:inline-table">
|
|
|
|
<li ng-repeat="(containerport, hostports) in container.HostConfig.PortBindings">
|
|
|
|
{{ containerport }} => <span class="label label-default" ng-repeat="(k,v) in hostports">{{ v.HostIp }}:{{ v.HostPort }}</span>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</td>
|
2013-10-22 21:49:19 +00:00
|
|
|
|
2015-03-31 21:37:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Hostname:</td>
|
|
|
|
<td>{{ container.Config.Hostname }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>IPAddress:</td>
|
|
|
|
<td>{{ container.NetworkSettings.IPAddress }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Cmd:</td>
|
|
|
|
<td>{{ container.Config.Cmd }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Entrypoint:</td>
|
|
|
|
<td>{{ container.Config.Entrypoint }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Volumes:</td>
|
|
|
|
<td>{{ container.Volumes }}</td>
|
|
|
|
</tr>
|
2013-08-08 19:18:51 +00:00
|
|
|
|
2015-03-31 21:37:03 +00:00
|
|
|
<tr>
|
|
|
|
<td>SysInitpath:</td>
|
|
|
|
<td>{{ container.SysInitPath }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Image:</td>
|
|
|
|
<td><a href="#/images/{{ container.Image }}/">{{ container.Image }}</a></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>State:</td>
|
|
|
|
<td><span class="label {{ container.State|getstatelabel }}">{{ container.State|getstatetext }}</span></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Logs:</td>
|
|
|
|
<td><a href="#/containers/{{ container.Id }}/logs">stdout/stderr</a></td>
|
|
|
|
</tr>
|
2015-08-25 05:55:54 +00:00
|
|
|
<tr>
|
|
|
|
<td>Stats:</td>
|
|
|
|
<td><a href="#/containers/{{ container.Id }}/stats">stats</a></td>
|
|
|
|
</tr>
|
2015-03-31 21:37:03 +00:00
|
|
|
<tr>
|
|
|
|
<td>Top:</td>
|
|
|
|
<td><a href="#/containers/{{ container.Id }}/top">Top</a></td>
|
|
|
|
</tr>
|
2013-06-09 00:12:14 +00:00
|
|
|
</tbody>
|
|
|
|
</table>
|
2015-03-31 21:37:03 +00:00
|
|
|
|
2013-06-09 00:50:42 +00:00
|
|
|
<div class="row-fluid">
|
|
|
|
<div class="span1">
|
|
|
|
Changes:
|
|
|
|
</div>
|
|
|
|
<div class="span5">
|
|
|
|
<i class="icon-refresh" style="width:32px;height:32px;" ng-click="getChanges()"></i>
|
|
|
|
</div>
|
2015-03-31 21:37:03 +00:00
|
|
|
</div>
|
2013-06-09 00:50:42 +00:00
|
|
|
|
|
|
|
<div class="well well-large">
|
|
|
|
<ul>
|
2013-06-15 01:15:14 +00:00
|
|
|
<li ng-repeat="change in changes | filter:hasContent">
|
2013-06-09 00:50:42 +00:00
|
|
|
<strong>{{ change.Path }}</strong> {{ change.Kind }}
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
2015-03-31 21:37:03 +00:00
|
|
|
<hr/>
|
2013-06-09 00:50:42 +00:00
|
|
|
|
2013-06-09 00:12:14 +00:00
|
|
|
<div class="btn-remove">
|
|
|
|
<button class="btn btn-large btn-block btn-primary btn-danger" ng-click="remove()">Remove Container</button>
|
|
|
|
</div>
|
|
|
|
</div>
|