From 4cb6329d13ebe770031b9e8e5edfcd2fd9c6bbae Mon Sep 17 00:00:00 2001 From: Kirill K Date: Mon, 20 Jan 2020 04:45:10 +0300 Subject: [PATCH] feat: add setting to change DNS servers --- .../create/createContainerController.js | 24 ++++++++++++++++--- .../containers/create/createcontainer.html | 16 +++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/app/docker/views/containers/create/createContainerController.js b/app/docker/views/containers/create/createContainerController.js index 7c331b7e3..3036e27d9 100644 --- a/app/docker/views/containers/create/createContainerController.js +++ b/app/docker/views/containers/create/createContainerController.js @@ -21,6 +21,8 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container MacAddress: '', IPv4: '', IPv6: '', + Dns1: '', + Dns2: '', AccessControlData: new AccessControlFormData(), CpuLimit: 0, MemoryLimit: 0, @@ -202,19 +204,28 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container } config.HostConfig.NetworkMode = networkMode; config.MacAddress = $scope.formValues.MacAddress; - + config.NetworkingConfig.EndpointsConfig[networkMode] = { IPAMConfig: { IPv4Address: $scope.formValues.IPv4, IPv6Address: $scope.formValues.IPv6 } }; - + if (networkMode && _.get($scope.config.NetworkingConfig.EndpointsConfig[networkMode], 'Aliases')){ var aliases = $scope.config.NetworkingConfig.EndpointsConfig[networkMode].Aliases; config.NetworkingConfig.EndpointsConfig[networkMode].Aliases = _.filter(aliases, (o) => { return !_.startsWith($scope.fromContainer.Id,o)}); } + var dnsServers = []; + if ($scope.formValues.Dns1) { + dnsServers.push($scope.formValues.Dns1); + } + if ($scope.formValues.Dns2) { + dnsServers.push($scope.formValues.Dns2); + } + config.HostConfig.Dns = dnsServers; + $scope.formValues.ExtraHosts.forEach(function (v) { if (v.value) { config.HostConfig.ExtraHosts.push(v.value); @@ -312,7 +323,7 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container return config; } - + function loadFromContainerCmd() { if ($scope.config.Cmd) { $scope.config.Cmd = ContainerHelper.commandArrayToString($scope.config.Cmd); @@ -387,6 +398,13 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container } $scope.formValues.MacAddress = d.Config.MacAddress; + if (d.HostConfig.Dns[0]) { + $scope.formValues.Dns1 = d.HostConfig.Dns[0]; + } + if (d.HostConfig.Dns[1]) { + $scope.formValues.Dns2 = d.HostConfig.Dns[1]; + } + // ExtraHosts if ($scope.config.HostConfig.ExtraHosts) { var extraHosts = $scope.config.HostConfig.ExtraHosts; diff --git a/app/docker/views/containers/create/createcontainer.html b/app/docker/views/containers/create/createcontainer.html index 266f6d0d7..4b8f3e2cf 100644 --- a/app/docker/views/containers/create/createcontainer.html +++ b/app/docker/views/containers/create/createcontainer.html @@ -435,6 +435,22 @@ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+