diff --git a/app/docker/views/containers/create/createContainerController.js b/app/docker/views/containers/create/createContainerController.js index 530c22dd7..0e017c6eb 100644 --- a/app/docker/views/containers/create/createContainerController.js +++ b/app/docker/views/containers/create/createContainerController.js @@ -48,6 +48,7 @@ function ($q, $scope, $state, $timeout, $transition$, $filter, Container, Contai Binds: [], NetworkMode: 'bridge', Privileged: false, + Runtime: '', ExtraHosts: [], Devices: [], CapAdd: [], @@ -581,6 +582,14 @@ function ($q, $scope, $state, $timeout, $transition$, $filter, Container, Contai SystemService.info() .then(function success(data) { + var runtimes = data.Runtimes; + $scope.availableRuntimes = runtimes; + if ('runc' in runtimes) { + $scope.config.HostConfig.Runtime = 'runc'; + } + else if (Object.keys(runtimes).length !== 0) { + $scope.config.HostConfig.Runtime = Object.keys(runtimes)[0]; + } $scope.state.sliderMaxCpu = 32; if (data.NCPU) { $scope.state.sliderMaxCpu = data.NCPU; diff --git a/app/docker/views/containers/create/createcontainer.html b/app/docker/views/containers/create/createcontainer.html index e466f3249..4ed3f6e4d 100644 --- a/app/docker/views/containers/create/createcontainer.html +++ b/app/docker/views/containers/create/createcontainer.html @@ -500,6 +500,17 @@ </div> </div> <!-- !privileged-mode --> + <!-- runtimes --> + <div class="form-group"> + <label for="container_runtime" class="col-sm-2 col-lg-1 control-label text-left">Runtime</label> + <div class="col-sm-1"> + <select class="form-control" ng-model="config.HostConfig.Runtime" id="container_runtime"> + <option selected disabled hidden value="">Select a runtime</option> + <option ng-repeat="(runtime, _) in availableRuntimes" ng-value="runtime">{{ runtime }}</option> + </select> + </div> + </div> + <!-- !runtimes --> </form> <form class="form-horizontal" style="margin-top: 15px;"> <!-- devices -->