2016-09-23 04:54:58 +00:00
< rd-header >
< rd-header-title title = "Service details" >
< a data-toggle = "tooltip" title = "Refresh" ui-sref = "service({id: service.Id})" ui-sref-opts = "{reload: true}" >
< i class = "fa fa-refresh" aria-hidden = "true" > < / i >
< / a >
< i id = "loadingViewSpinner" class = "fa fa-cog fa-spin" > < / i >
< / rd-header-title >
< rd-header-content >
2017-07-08 08:23:00 +00:00
< a ui-sref = "services" > Services< / a > > < a ui-sref = "service({id: service.Id})" > {{ service.Name }}< / a >
2016-09-23 04:54:58 +00:00
< / rd-header-content >
< / rd-header >
< div class = "row" >
2017-03-20 20:28:09 +00:00
< div ng-if = "isUpdating" class = "col-lg-12 col-md-12 col-xs-12" >
< div class = "alert alert-info" role = "alert" id = "service-update-alert" >
< p > This service is being updated. Editing this service is currently disabled.< / p >
< a ui-sref = "service({id: service.Id}, {reload: true})" > Refresh to see if this service has finished updated.< / a >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-lg-9 col-md-9 col-xs-9" >
2016-09-23 04:54:58 +00:00
< rd-widget >
< rd-widget-header icon = "fa-list-alt" title = "Service details" > < / rd-widget-header >
< rd-widget-body classes = "no-padding" >
< table class = "table" >
< tbody >
< tr >
< td > Name< / td >
2017-03-20 20:28:09 +00:00
< td ng-if = "applicationState.endpoint.apiVersion <= 1.24" >
< input type = "text" class = "form-control" ng-model = "service.Name" ng-change = "updateServiceAttribute(service, 'Name')" ng-disabled = "isUpdating" >
2016-09-23 04:54:58 +00:00
< / td >
2017-03-20 20:28:09 +00:00
< td ng-if = "applicationState.endpoint.apiVersion >= 1.25" >
{{ service.Name }}
2016-09-23 04:54:58 +00:00
< / td >
< / tr >
< tr >
< td > ID< / td >
< td >
{{ service.Id }}
2017-03-20 20:28:09 +00:00
< button class = "btn btn-xs btn-danger" ng-click = "removeService()" > < i class = "fa fa-trash space-right" aria-hidden = "true" ng-disabled = "isUpdating" > < / i > Delete this service< / button >
2016-09-23 04:54:58 +00:00
< / td >
< / tr >
2017-03-20 20:28:09 +00:00
< tr ng-if = "service.CreatedAt" >
< td > Created at< / td >
< td > {{ service.CreatedAt|getisodate}}< / td >
< / tr >
< tr ng-if = "service.UpdatedAt" >
< td > Last updated at< / td >
< td > {{ service.UpdatedAt|getisodate }}< / td >
< / tr >
< tr ng-if = "service.Version" >
< td > Version< / td >
< td > {{ service.Version }}< / td >
< / tr >
2016-09-23 04:54:58 +00:00
< tr >
< td > Scheduling mode< / td >
< td > {{ service.Mode }}< / td >
< / tr >
< tr ng-if = "service.Mode === 'replicated'" >
< td > Replicas< / td >
< td >
2017-03-20 20:28:09 +00:00
< span ng-if = "service.Mode === 'replicated'" >
< input class = "input-sm" type = "number" ng-model = "service.Replicas" ng-change = "updateServiceAttribute(service, 'Replicas')" ng-disabled = "isUpdating" / >
2016-09-23 04:54:58 +00:00
< / span >
< / td >
< / tr >
< tr >
< td > Image< / td >
2016-12-25 20:31:22 +00:00
< td >
2017-03-20 20:28:09 +00:00
< input type = "text" class = "form-control" ng-model = "service.Image" ng-change = "updateServiceAttribute(service, 'Image')" ng-disabled = "isUpdating" / >
2016-12-25 20:31:22 +00:00
< / td >
< / tr >
2017-07-08 09:34:21 +00:00
< tr ng-if = "applicationState.endpoint.apiVersion >= 1.30" >
< td colspan = "2" >
< div class = "btn-group" role = "group" aria-label = "..." >
< a class = "btn btn-outline-secondary" type = "button" ui-sref = "servicelogs({id: service.Id})" > < i class = "fa fa-exclamation-circle space-right" aria-hidden = "true" > < / i > Logs< / a >
< / div >
< / td >
< / tr >
2016-09-23 04:54:58 +00:00
< / tbody >
< / table >
< / rd-widget-body >
2017-03-20 20:28:09 +00:00
< rd-widget-footer >
< p class = "small text-muted" >
Do you need help? View the Docker Service documentation < a href = "https://docs.docker.com/engine/reference/commandline/service_update/" target = "self" > here< / a > .
< / p >
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-group" role = "group" >
< button type = "button" class = "btn btn-primary" ng-disabled = "!hasChanges(service, ['Mode', 'Replicas', 'Image', 'Name'])" ng-click = "updateService(service)" > Apply changes< / button >
< button type = "button" class = "btn btn-default dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< span class = "caret" > < / span >
< / button >
< ul class = "dropdown-menu" >
< li > < a ng-click = "cancelChanges(service, ['Mode', 'Replicas', 'Image', 'Name'])" > Reset changes< / a > < / li >
< li > < a ng-click = "cancelChanges(service)" > Reset all changes< / a > < / li >
< / ul >
< / div >
2016-11-09 00:23:56 +00:00
< / div >
< / rd-widget-footer >
2016-09-23 04:54:58 +00:00
< / rd-widget >
< / div >
2017-03-20 20:28:09 +00:00
< div class = "col-lg-3 col-md-3 col-xs-3" >
2016-09-23 04:54:58 +00:00
< rd-widget >
2017-03-20 20:28:09 +00:00
< rd-widget-header icon = "fa-bars" title = "Quick navigation" > < / rd-widget-header >
2016-09-23 04:54:58 +00:00
< rd-widget-body classes = "no-padding" >
2017-03-20 20:28:09 +00:00
< ul class = "nav nav-pills nav-stacked" >
< li > < a href ng-click = "goToItem('service-env-variables')" > Environment variables< / a > < / li >
< li > < a href ng-click = "goToItem('service-container-labels')" > Container labels< / a > < / li >
< li > < a href ng-click = "goToItem('service-mounts')" > Mounts< / a > < / li >
< li > < a href ng-click = "goToItem('service-network-specs')" > Network & published ports< / a > < / li >
< li > < a href ng-click = "goToItem('service-resources')" > Resource limits & reservations< / a > < / li >
< li > < a href ng-click = "goToItem('service-placement-constraints')" > Placement constraints< / a > < / li >
< li > < a href ng-click = "goToItem('service-restart-policy')" > Restart policy< / a > < / li >
< li > < a href ng-click = "goToItem('service-update-config')" > Update configuration< / a > < / li >
< li > < a href ng-click = "goToItem('service-labels')" > Service labels< / a > < / li >
2017-05-27 07:23:49 +00:00
< li > < a href ng-click = "goToItem('service-secrets')" > Secrets< / a > < / li >
2017-03-20 20:28:09 +00:00
< li > < a href ng-click = "goToItem('service-tasks')" > Tasks< / a > < / li >
2017-06-20 10:54:27 +00:00
< / ul >
2016-09-23 04:54:58 +00:00
< / rd-widget-body >
< / rd-widget >
< / div >
< / div >
2017-03-20 20:28:09 +00:00
2017-05-23 18:56:10 +00:00
< div ng-include = "'app/components/common/accessControlPanel/accessControlPanel.html'" ng-if = "service && applicationState.application.authentication" > < / div >
2017-03-20 20:28:09 +00:00
< div class = "row" >
< hr >
< div class = "col-lg-12 col-md-12 col-xs-12" >
< h3 id = "container-specs" > Container specification< / h3 >
< div id = "service-container-spec" class = "padding-top" ng-include = "'app/components/service/includes/container-specs.html'" > < / div >
< div id = "service-env-variables" class = "padding-top" ng-include = "'app/components/service/includes/environmentvariables.html'" > < / div >
< div id = "service-container-labels" class = "padding-top" ng-include = "'app/components/service/includes/containerlabels.html'" > < / div >
< div id = "service-mounts" class = "padding-top" ng-include = "'app/components/service/includes/mounts.html'" > < / div >
< / div >
< / div >
< div class = "row" >
< hr >
< div class = "col-lg-12 col-md-12 col-xs-12" >
< h3 id = "service-network-specs" > Networks & ports< / h3 >
< div id = "service-networks" class = "padding-top" ng-include = "'app/components/service/includes/networks.html'" > < / div >
< div id = "service-published-ports" class = "padding-top" ng-include = "'app/components/service/includes/ports.html'" > < / div >
< / div >
< / div >
< div class = "row" >
< hr >
< div class = "col-lg-12 col-md-12 col-xs-12" >
< h3 id = "service-specs" > Service specification< / h3 >
< div id = "service-resources" class = "padding-top" ng-include = "'app/components/service/includes/resources.html'" > < / div >
< div id = "service-placement-constraints" class = "padding-top" ng-include = "'app/components/service/includes/constraints.html'" > < / div >
< div id = "service-restart-policy" class = "padding-top" ng-include = "'app/components/service/includes/restart.html'" > < / div >
< div id = "service-update-config" class = "padding-top" ng-include = "'app/components/service/includes/updateconfig.html'" > < / div >
< div id = "service-labels" class = "padding-top" ng-include = "'app/components/service/includes/servicelabels.html'" > < / div >
2017-05-27 07:23:49 +00:00
< div id = "service-secrets" class = "padding-top" ng-include = "'app/components/service/includes/secrets.html'" > < / div >
2017-03-20 20:28:09 +00:00
< div id = "service-tasks" class = "padding-top" ng-include = "'app/components/service/includes/tasks.html'" > < / div >
< / div >
< / div >