mirror of https://github.com/portainer/portainer
feat(templates): add /etc/hosts entries support (#1307)
parent
f8451e944a
commit
1d150414d9
|
@ -195,6 +195,30 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- !volume-mapping -->
|
<!-- !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>
|
</div>
|
||||||
<!-- !advanced-options -->
|
<!-- !advanced-options -->
|
||||||
<!-- actions -->
|
<!-- actions -->
|
||||||
|
|
|
@ -34,6 +34,14 @@ function ($scope, $q, $state, $transition$, $anchorScroll, $filter, ContainerSer
|
||||||
$scope.state.selectedTemplate.Ports.splice(index, 1);
|
$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) {
|
function validateForm(accessControlData, isAdmin) {
|
||||||
$scope.state.formValidationError = '';
|
$scope.state.formValidationError = '';
|
||||||
var error = '';
|
var error = '';
|
||||||
|
|
|
@ -15,7 +15,8 @@ angular.module('portainer.helpers')
|
||||||
},
|
},
|
||||||
PortBindings: {},
|
PortBindings: {},
|
||||||
Binds: [],
|
Binds: [],
|
||||||
Privileged: false
|
Privileged: false,
|
||||||
|
ExtraHosts: []
|
||||||
},
|
},
|
||||||
Volumes: {}
|
Volumes: {}
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,4 +42,5 @@ function TemplateViewModel(data) {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
this.Hosts = data.hosts ? data.hosts : [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@ angular.module('portainer.services')
|
||||||
configuration.HostConfig.NetworkMode = network.Name;
|
configuration.HostConfig.NetworkMode = network.Name;
|
||||||
configuration.HostConfig.Privileged = template.Privileged;
|
configuration.HostConfig.Privileged = template.Privileged;
|
||||||
configuration.HostConfig.RestartPolicy = { Name: template.RestartPolicy };
|
configuration.HostConfig.RestartPolicy = { Name: template.RestartPolicy };
|
||||||
|
configuration.HostConfig.ExtraHosts = template.Hosts ? template.Hosts : [];
|
||||||
configuration.name = containerName;
|
configuration.name = containerName;
|
||||||
configuration.Hostname = containerName;
|
configuration.Hostname = containerName;
|
||||||
configuration.Image = template.Image;
|
configuration.Image = template.Image;
|
||||||
|
|
Loading…
Reference in New Issue