mirror of
https://github.com/portainer/portainer.git
synced 2025-07-25 08:19:40 +02:00
* Adding latest build to dist. * Adding latest build to dist. * Bump other app version. * Build latest changes. * Bump version to 0.7.0. * Version bump to 0.9.0-beta and remote API 1.20. * Whoah there, back down to 0.8.0-beta. * Merge branch 'crosbymichael-master' into crosbymichael-dist * Add volume options in volume creation form * display swarm cluster information in Swarm tab * update LICENSE * update repository URL in status bar * remove console logs * do not display Swarm containers anywhere in the UI * update position for add/remove option on Volumes page * compliant with swarm == 1.2.0 API support * update nginx-basic-auth examples with latest nginx and swarm example * Updated .gitignore * update .gitignore * reverted entry for dist/uifordocker in .gitignore * WIP * fix linter issues * added logo * update repository URL * update .gitignore (ignore dist/*) * add lodash * add containers actions binding (start, stop...) * replace image icon * bind remove image action * bind network remove action * bind volume remove action * update logo * wip on container details * update logo scaling, favicon and page title * wip container view * add containers actions in container view * add image view * add network view * remove useless data in tables * add pull image, create network modals * add create volume modal * update style for createVolume options * add start container modal * create volume modal now use a select to display drivers * add container stats * add containerTop view in stats view * fix trimcontainername filter * add container logs view * updated .gitignore * remove useless files/modules * remove useless chart in image view * replace $location usage with $state.go * remove useless swarm example
186 lines
6.5 KiB
HTML
186 lines
6.5 KiB
HTML
<div class="row">
|
|
<div class="col-lg-6 col-md-12 col-xs-12">
|
|
<rd-widget>
|
|
<rd-widget-body>
|
|
<div class="widget-icon grey pull-left">
|
|
<i class="fa fa-tasks"></i>
|
|
</div>
|
|
<div ng-if="!container.edit">
|
|
<div class="title">{{ container.Name|trimcontainername }}</div>
|
|
<div class="comment">
|
|
Name <a href="" ng-click="container.edit = true;"><i class="fa fa-edit"></i></a>
|
|
</div>
|
|
</div>
|
|
<div ng-if="container.edit">
|
|
<div class="title"><input type="text" class="containerNameInput" ng-model="container.newContainerName"></div>
|
|
<div class="comment">
|
|
Name
|
|
<a href="" ng-click="container.edit = false;"><i class="fa fa-times"></i></a>
|
|
<a href="" ng-click="renameContainer()"><i class="fa fa-check-square-o"></i></a>
|
|
</div>
|
|
</div>
|
|
</rd-widget-body>
|
|
</rd-widget>
|
|
</div>
|
|
<div class="col-lg-6 col-md-12 col-xs-12">
|
|
<rd-widget>
|
|
<rd-widget-body>
|
|
<div ng-class="{true: 'widget-icon green pull-left', false: 'widget-icon red pull-left'}[container.State.Running]">
|
|
<i class="fa fa-heartbeat"></i>
|
|
</div>
|
|
<div class="title">{{ container.State|getstatetext }}</div>
|
|
<div class="comment">State</div>
|
|
</rd-widget-body>
|
|
</rd-widget>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-xs-12">
|
|
<rd-widget>
|
|
<rd-widget-body>
|
|
<div class="widget-icon grey pull-left">
|
|
<i class="fa fa-cogs"></i>
|
|
</div>
|
|
<div class="title">
|
|
<div class="btn-group" role="group" aria-label="...">
|
|
<button class="btn btn-primary" ng-click="commit()">Commit</button>
|
|
<button class="btn btn-primary" ng-click="start()" ng-disabled="container.State.Running">Start</button>
|
|
<button class="btn btn-primary" ng-click="stop()" ng-disabled="!container.State.Running">Stop</button>
|
|
<button class="btn btn-primary" ng-click="kill()" ng-disabled="!container.State.Running">Kill</button>
|
|
<button class="btn btn-primary" ng-click="restart()">Restart</button>
|
|
<button class="btn btn-primary" ng-click="pause()" ng-disabled="!container.State.Running && !container.State.Paused">Pause</button>
|
|
<button class="btn btn-primary" ng-click="unpause()" ng-disabled="!container.State.Paused">Unpause</button>
|
|
<button class="btn btn-danger" ng-click="remove()" ng-disabled="container.State.Running">Remove</button>
|
|
</div>
|
|
<div class="btn-group" role="group" aria-label="...">
|
|
<a class="btn btn-default" type="button" href="#/containers/{{ container.Id }}/stats">Stats</a>
|
|
<a class="btn btn-default" type="button" href="#/containers/{{ container.Id }}/logs">Logs</a>
|
|
</div>
|
|
</div>
|
|
<div class="comment">
|
|
Actions
|
|
</div>
|
|
</rd-widget-body>
|
|
</rd-widget>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-9">
|
|
<rd-widget>
|
|
<rd-widget-header icon="fa-tasks" title="Container status"></rd-widget-header>
|
|
<rd-widget-body classes="no-padding">
|
|
<table class="table">
|
|
<tbody>
|
|
<tr>
|
|
<td>Created</td>
|
|
<td>{{ container.Created | date: 'medium' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Path</td>
|
|
<td>{{ container.Path }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Args</td>
|
|
<td>{{ container.Args.join(' ') || 'None' }}</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>
|
|
<tr>
|
|
<td>Labels</td>
|
|
<td>
|
|
<table role="table" class="table">
|
|
<tr ng-repeat="(k, v) in container.Config.Labels">
|
|
<td>{{ k }}</td>
|
|
<td>{{ v }}</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Publish all ports</td>
|
|
<td>{{ container.HostConfig.PublishAllPorts }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ports</td>
|
|
<td>
|
|
<ul>
|
|
<li ng-repeat="(containerport, hostports) in container.NetworkSettings.Ports">
|
|
{{ containerport }} =>
|
|
<span class="label label-default" style="margin-right: 5px;" ng-repeat="(k,v) in hostports">{{ v.HostIp }}:{{ v.HostPort }}</span>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
</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.join(' ') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Bindings</td>
|
|
<td>
|
|
<ul>
|
|
<li ng-repeat="b in container.HostConfig.Binds">{{ b }}</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Volumes</td>
|
|
<td>{{ container.Volumes }}</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>SysInitpath</td>
|
|
<td>{{ container.SysInitPath }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Image</td>
|
|
<td><a href="#/images/{{ container.Image }}/">{{ container.Image }}</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</rd-widget-body>
|
|
</rd-widget>
|
|
</div>
|
|
<div class="col-lg-3">
|
|
<rd-widget>
|
|
<rd-widget-header icon="fa-tasks" title="Container state details"></rd-widget-header>
|
|
<rd-widget-body classes="no-padding">
|
|
<table class="table">
|
|
<tbody>
|
|
<tr ng-repeat="(key, val) in container.State">
|
|
<td>{{key}}</td>
|
|
<td>{{ val }}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</rd-widget-body>
|
|
</rd-widget>
|
|
</div>
|
|
<div>
|