diff --git a/app/docker/services/networkService.js b/app/docker/services/networkService.js index 4031a2d0c..f8400b693 100644 --- a/app/docker/services/networkService.js +++ b/app/docker/services/networkService.js @@ -71,8 +71,16 @@ angular.module('portainer.docker') return Network.disconnect({ id: networkId }, { Container: containerId, Force: force }).$promise; }; - service.connectContainer = function(networkId, containerId) { - return Network.connect({ id: networkId }, { Container: containerId }).$promise; + service.connectContainer = function(networkId, containerId, aliases) { + var payload = { + Container: containerId, + }; + if (aliases) { + payload.EndpointConfig = { + Aliases: aliases, + } + } + return Network.connect({ id: networkId }, payload).$promise; }; return service; diff --git a/app/docker/views/containers/create/createContainerController.js b/app/docker/views/containers/create/createContainerController.js index 6f8db2921..aaf5cfdd5 100644 --- a/app/docker/views/containers/create/createContainerController.js +++ b/app/docker/views/containers/create/createContainerController.js @@ -208,7 +208,8 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container IPAMConfig: { IPv4Address: $scope.formValues.IPv4, IPv6Address: $scope.formValues.IPv6 - } + }, + Aliases: _.without($scope.config.NetworkingConfig.EndpointsConfig[networkMode].Aliases, $scope.config.Hostname) }; $scope.formValues.ExtraHosts.forEach(function (v) { @@ -780,9 +781,9 @@ function ($q, $scope, $async, $state, $timeout, $transition$, $filter, Container return $q.when(); } - var connectionPromises = Object.keys($scope.extraNetworks).map(function (networkName) { - return NetworkService.connectContainer(networkName, newContainerId); - }); + var connectionPromises = _.forOwn($scope.extraNetworks, function (network, networkName) { + return NetworkService.connectContainer(networkName, newContainerId, _.without(network.Aliases, $scope.config.Hostname)); + }); return $q.all(connectionPromises); } diff --git a/webpack/webpack.common.js b/webpack/webpack.common.js index 317d4edda..9cac4738f 100644 --- a/webpack/webpack.common.js +++ b/webpack/webpack.common.js @@ -94,7 +94,8 @@ module.exports = { // new BundleAnalyzerPlugin() new LodashModuleReplacementPlugin({ shorthands: true, - collections: true + collections: true, + paths: true }), new DefinePlugin({ __CONFIG_GA_ID: JSON.stringify(pkg.config.GA_ID),