2016-06-08 06:23:11 +00:00
< rd-header >
2016-08-10 03:14:10 +00:00
< rd-header-title title = "Image details" >
< i id = "loadingViewSpinner" class = "fa fa-cog fa-spin" > < / i >
< / rd-header-title >
2016-06-08 06:23:11 +00:00
< rd-header-content >
2016-11-02 05:14:52 +00:00
< a ui-sref = "images" > Images< / a > > < a ui-sref = "image({id: image.Id})" > {{ image.Id }}< / a >
2016-06-08 06:23:11 +00:00
< / rd-header-content >
< / rd-header >
2017-03-20 11:01:35 +00:00
< div class = "row" ng-if = "image.RepoTags.length > 0" >
2016-06-02 05:34:03 +00:00
< div class = "col-lg-12 col-md-12 col-xs-12" >
< rd-widget >
2016-08-10 03:14:10 +00:00
< rd-widget-header icon = "fa fa-tags" title = "Image tags" > < / rd-widget-header >
2017-03-20 10:45:04 +00:00
< rd-widget-body >
< form class = "form-horizontal" >
< div class = "form-group" >
< div class = "row" >
2017-03-20 11:01:35 +00:00
< div class = "pull-left" ng-repeat = "tag in image.RepoTags" style = "display:table" >
2017-03-20 10:45:04 +00:00
< div class = "input-group col-md-1" style = "padding:0 15px" >
< span class = "input-group-addon" > {{ tag }}< / span >
< span class = "input-group-btn" >
< a data-toggle = "tooltip" class = "btn btn-primary interactive" title = "Push to registry" ng-click = "pushImage(tag)" >
< span class = "fa fa-upload white-icon" aria-hidden = "true" > < / span >
< / a >
< a data-toggle = "tooltip" class = "btn btn-primary interactive" title = "Pull from registry" ng-click = "pullImage(tag)" >
< span class = "fa fa-download white-icon" aria-hidden = "true" > < / span >
< / a >
2017-03-20 11:01:35 +00:00
< a data-toggle = "tooltip" class = "btn btn-primary interactive" title = "Remove tag" ng-click = "removeTag(tag)" >
2017-03-20 10:45:04 +00:00
< span class = "fa fa-trash-o white-icon" aria-hidden = "true" > < / span >
< / a >
< / span >
< / div >
< / div >
< / div >
< / div >
< div class = "form-group" >
< div class = "col-sm-12" >
< span class = "small text-muted" >
2017-03-20 11:01:35 +00:00
Note: you can click on the upload icon < span class = "fa fa-upload" aria-hidden = "true" > < / span > to push an image
or on the download icon < span class = "fa fa-download" aria-hidden = "true" > < / span > to pull an image
or on the trash icon < span class = "fa fa-trash-o" aria-hidden = "true" > < / span > to delete a tag.
2017-03-20 10:45:04 +00:00
< / span >
< / div >
< / div >
< / form >
2016-06-02 05:34:03 +00:00
< / rd-widget-body >
< / rd-widget >
< / div >
< / div >
2016-08-10 03:14:10 +00:00
2016-08-17 06:05:17 +00:00
< div class = "row" >
< div class = "col-lg-12 col-md-12 col-xs-12" >
< rd-widget >
< rd-widget-header icon = "fa-tag" title = "Tag the image" > < / rd-widget-header >
< rd-widget-body >
< form class = "form-horizontal" >
<!-- name - and - registry - inputs -->
< div class = "form-group" >
< label for = "image_name" class = "col-sm-1 control-label text-left" > Name< / label >
2017-03-27 12:44:39 +00:00
< div class = "col-sm-11 col-md-6" >
2016-08-17 06:05:17 +00:00
< input type = "text" class = "form-control" ng-model = "config.Image" id = "image_name" placeholder = "e.g. myImage:myTag" >
< / div >
2017-03-27 12:44:39 +00:00
< label for = "image_registry" class = "col-sm-2 margin-sm-top control-label text-left" >
Registry
< portainer-tooltip position = "bottom" message = "A registry to pull the image from. Leave empty to use the official Docker registry." > < / portainer-tooltip >
< / label >
< div class = "col-sm-10 col-md-3 margin-sm-top" >
< input type = "text" class = "form-control" ng-model = "config.Registry" id = "image_registry" placeholder = "e.g. myregistry.mydomain" >
2016-08-17 06:05:17 +00:00
< / div >
< / div >
<!-- !name - and - registry - inputs -->
<!-- tag - note -->
< div class = "form-group" >
< div class = "col-sm-12" >
< span class = "small text-muted" > Note: if you don't specify the tag in the image name, < span class = "label label-default" > latest< / span > will be used.< / span >
< / div >
< / div >
<!-- !tag - note -->
< div class = "form-group" >
< div class = "col-sm-12" >
2017-03-27 12:44:39 +00:00
< button type = "button" class = "btn btn-primary btn-sm" ng-disabled = "!config.Image" ng-click = "tagImage()" > Tag< / button >
2016-08-17 06:05:17 +00:00
< i id = "pullImageSpinner" class = "fa fa-cog fa-spin" style = "margin-left: 5px; display: none;" > < / i >
< / div >
< / div >
< / form >
< / rd-widget-body >
< / rd-widget >
< / div >
< / div >
2016-06-02 05:34:03 +00:00
< div class = "row" >
2016-08-10 03:14:10 +00:00
< div class = "col-lg-12 col-md-12 col-xs-12" >
2016-06-02 05:34:03 +00:00
< rd-widget >
< rd-widget-header icon = "fa-clone" title = "Image details" > < / rd-widget-header >
< rd-widget-body classes = "no-padding" >
< table class = "table" >
< tbody >
< tr >
2016-08-10 03:14:10 +00:00
< td > ID< / td >
2016-06-02 05:34:03 +00:00
< td >
2016-08-10 03:14:10 +00:00
{{ image.Id }}
2016-10-27 08:33:39 +00:00
< button class = "btn btn-xs btn-danger" ng-click = "removeImage(image.Id)" > < i class = "fa fa-trash space-right" aria-hidden = "true" > < / i > Delete this image< / button >
2016-06-02 05:34:03 +00:00
< / td >
< / tr >
2016-08-10 03:14:10 +00:00
< tr ng-if = "image.Parent" >
2016-06-02 05:34:03 +00:00
< td > Parent< / td >
2016-06-14 02:13:52 +00:00
< td > < a ui-sref = "image({id: image.Parent})" > {{ image.Parent }}< / a > < / td >
2016-06-02 05:34:03 +00:00
< / tr >
< tr >
2016-08-10 03:14:10 +00:00
< td > Size< / td >
< td > {{ image.VirtualSize|humansize }}< / td >
2016-06-02 05:34:03 +00:00
< / tr >
< tr >
2016-08-10 03:14:10 +00:00
< td > Created< / td >
< td > {{ image.Created|getisodate }}< / td >
2016-06-02 05:34:03 +00:00
< / tr >
< tr >
2016-08-10 03:14:10 +00:00
< td > Build< / td >
< td > Docker {{ image.DockerVersion }} on {{ image.Os}}, {{ image.Architecture }}< / td >
2016-06-02 05:34:03 +00:00
< / tr >
2016-08-10 03:14:10 +00:00
< tr ng-if = "image.Author" >
< td > Author< / td >
< td > {{ image.Author }}< / td >
2016-06-02 05:34:03 +00:00
< / tr >
2016-08-10 03:14:10 +00:00
< / tbody >
< / table >
< / 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-header icon = "fa-clone" title = "Dockerfile details" > < / rd-widget-header >
< rd-widget-body classes = "no-padding" >
< table class = "table" >
< tbody >
2016-06-02 05:34:03 +00:00
< tr >
2016-08-10 03:14:10 +00:00
< td > CMD< / td >
2017-03-20 11:01:35 +00:00
< td > < code > {{ image.Command|command }}< / code > < / td >
2016-06-02 05:34:03 +00:00
< / tr >
2017-03-20 11:01:35 +00:00
< tr ng-if = "image.Entrypoint" >
2016-08-10 03:14:10 +00:00
< td > ENTRYPOINT< / td >
2017-03-20 11:01:35 +00:00
< td > < code > {{ image.Entrypoint|command }}< / code > < / td >
2016-08-10 03:14:10 +00:00
< / tr >
2017-03-20 11:01:35 +00:00
< tr ng-if = "image.ExposedPorts.length > 0" >
2016-08-10 03:14:10 +00:00
< td > EXPOSE< / td >
< td >
2017-03-20 11:01:35 +00:00
< span class = "label label-default space-right" ng-repeat = "port in image.ExposedPorts" >
2016-08-10 03:14:10 +00:00
{{ port }}
< / span >
< / td >
< / tr >
2017-03-20 11:01:35 +00:00
< tr ng-if = "image.Volumes.length > 0" >
2016-08-10 03:14:10 +00:00
< td > VOLUME< / td >
< td >
2017-03-20 11:01:35 +00:00
< span class = "label label-default space-right" ng-repeat = "volume in image.Volumes" >
2016-08-10 03:14:10 +00:00
{{ volume }}
< / span >
< / td >
2016-06-02 05:34:03 +00:00
< / tr >
2017-03-20 11:01:35 +00:00
< tr ng-if = "image.Env.length > 0" >
2016-08-10 03:14:10 +00:00
< td > ENV< / td >
< td >
< table class = "table table-bordered table-condensed" >
2017-03-20 11:01:35 +00:00
< tr ng-repeat = "var in image.Env" >
2016-08-19 06:41:45 +00:00
< td > {{ var|key: '=' }}< / td >
< td > {{ var|value: '=' }}< / td >
2016-08-10 03:14:10 +00:00
< / tr >
< / table >
< / td >
2016-06-02 05:34:03 +00:00
< / tr >
< / tbody >
< / table >
< / rd-widget-body >
< / rd-widget >
< / div >
2013-06-09 23:11:40 +00:00
< / div >