diff --git a/app/docker/views/containers/create/createContainerController.js b/app/docker/views/containers/create/createContainerController.js index 7c331b7e3..869b656c5 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: '', + DnsPrimary: '', + DnsSecondary: '', 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.DnsPrimary) { + dnsServers.push($scope.formValues.DnsPrimary); + } + if ($scope.formValues.DnsSecondary) { + dnsServers.push($scope.formValues.DnsSecondary); + } + 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,9 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container } $scope.formValues.MacAddress = d.Config.MacAddress; + $scope.formValues.DnsPrimary = d.HostConfig.Dns[0]; + $scope.formValues.DnsSecondary = 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..130c75307 100644 --- a/app/docker/views/containers/create/createcontainer.html +++ b/app/docker/views/containers/create/createcontainer.html @@ -435,6 +435,22 @@ + +