feat(templates): add /etc/hosts entries support (#1307)

pull/1336/head
Riccardo Capuani 2017-10-27 10:48:11 +02:00 committed by Anthony Lapenna
parent f8451e944a
commit 1d150414d9
5 changed files with 36 additions and 1 deletions

View File

@ -195,6 +195,30 @@
</div>
</div>
<!-- !volume-mapping -->
<!-- extra-host -->
<div class="form-group" >
<div class="col-sm-12" style="margin-top: 5px;">
<label class="control-label text-left">Hosts file entries</label>
<span class="label label-default interactive" style="margin-left: 10px;" ng-click="addExtraHost()">
<i class="fa fa-plus-circle" aria-hidden="true"></i> add additional entry
</span>
</div>
<!-- extra-host-input-list -->
<div class="col-sm-12">
<div class="col-sm-12 form-inline" style="margin-top: 10px;">
<div ng-repeat="(idx, host) in state.selectedTemplate.Hosts track by $index" style="margin-top: 2px;">
<div class="input-group col-sm-5 input-group-sm">
<span class="input-group-addon">value</span>
<input type="text" class="form-control" ng-model="state.selectedTemplate.Hosts[idx]" placeholder="e.g. host:IP">
</div>
<button class="btn btn-sm btn-danger" type="button" ng-click="removeExtraHost($index)">
<i class="fa fa-trash" aria-hidden="true"></i>
</button>
</div>
</div>
</div>
</div>
<!-- !extra-host -->
</div>
<!-- !advanced-options -->
<!-- actions -->

View File

@ -34,6 +34,14 @@ function ($scope, $q, $state, $transition$, $anchorScroll, $filter, ContainerSer
$scope.state.selectedTemplate.Ports.splice(index, 1);
};
$scope.addExtraHost = function() {
$scope.state.selectedTemplate.Hosts.push('');
};
$scope.removeExtraHost = function(index) {
$scope.state.selectedTemplate.Hosts.splice(index, 1);
};
function validateForm(accessControlData, isAdmin) {
$scope.state.formValidationError = '';
var error = '';

View File

@ -15,7 +15,8 @@ angular.module('portainer.helpers')
},
PortBindings: {},
Binds: [],
Privileged: false
Privileged: false,
ExtraHosts: []
},
Volumes: {}
};

View File

@ -42,4 +42,5 @@ function TemplateViewModel(data) {
};
});
}
this.Hosts = data.hosts ? data.hosts : [];
}

View File

@ -40,6 +40,7 @@ angular.module('portainer.services')
configuration.HostConfig.NetworkMode = network.Name;
configuration.HostConfig.Privileged = template.Privileged;
configuration.HostConfig.RestartPolicy = { Name: template.RestartPolicy };
configuration.HostConfig.ExtraHosts = template.Hosts ? template.Hosts : [];
configuration.name = containerName;
configuration.Hostname = containerName;
configuration.Image = template.Image;