1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-06 06:15:22 +02:00

feat(app): push pull container details recreate

This commit is contained in:
xAt0mZ 2019-11-21 01:58:50 +01:00
parent c183cb53aa
commit 7b9998bdde
3 changed files with 17 additions and 30 deletions

View file

@ -8,47 +8,27 @@ angular.module('portainer.docker')
helper.isValidTag = isValidTag; helper.isValidTag = isValidTag;
helper.createImageConfigForContainer = createImageConfigForContainer; helper.createImageConfigForContainer = createImageConfigForContainer;
helper.getImagesNamesForDownload = getImagesNamesForDownload;
helper.removeDigestFromRepository = removeDigestFromRepository;
function isValidTag(tag) { function isValidTag(tag) {
return tag.match(/^(?![\.\-])([a-zA-Z0-9\_\.\-])+$/g); return tag.match(/^(?![\.\-])([a-zA-Z0-9\_\.\-])+$/g);
} }
// helper.extractImageAndRegistryFromRepository = function(repository) { function getImagesNamesForDownload(images) {
// var slashCount = _.countBy(repository)['/'];
// var registry = null;
// var image = repository;
// if (slashCount >= 1) {
// // assume something/something[/...]
// registry = repository.substr(0, repository.indexOf('/'));
// // assume valid DNS name or IP (contains at least one '.')
// if (_.countBy(registry)['.'] > 0) {
// image = repository.substr(repository.indexOf('/') + 1);
// } else {
// registry = null;
// }
// }
// return {
// registry: registry,
// image: image
// };
// };
helper.getImagesNamesForDownload = function(images) {
var names = images.map(function(image) { var names = images.map(function(image) {
return image.RepoTags[0] !== '<none>:<none>' ? image.RepoTags[0] : image.Id; return image.RepoTags[0] !== '<none>:<none>' ? image.RepoTags[0] : image.Id;
}); });
return { return {
names: names names: names
}; };
}; }
/** /**
* *
* @param {PorImageRegistryModel} registry * @param {PorImageRegistryModel} registry
*/ */
function createImageConfigForContainer(registry) { function createImageConfigForContainer(registry) {
console.log('registry', registry);
const data = { const data = {
fromImage: '' fromImage: ''
}; };
@ -64,13 +44,12 @@ angular.module('portainer.docker')
} }
data.fromImage = fullImageName; data.fromImage = fullImageName;
console.log('FULL IMAGE NAME', fullImageName);
return data; return data;
} }
helper.removeDigestFromRepository = function(repository) { function removeDigestFromRepository(repository) {
return repository.split('@sha')[0]; return repository.split('@sha')[0];
}; }
return helper; return helper;
}]); }]);

View file

@ -96,6 +96,10 @@ angular.module('portainer.docker')
return deferred.promise; return deferred.promise;
}; };
/**
* PULL IMAGE
*/
function pullImageAndIgnoreErrors(imageConfiguration) { function pullImageAndIgnoreErrors(imageConfiguration) {
var deferred = $q.defer(); var deferred = $q.defer();
@ -146,6 +150,10 @@ angular.module('portainer.docker')
return pullImageAndAcknowledgeErrors(imageConfiguration); return pullImageAndAcknowledgeErrors(imageConfiguration);
} }
/**
* ! PULL IMAGE
*/
service.tagImage = function(id, image, registry) { service.tagImage = function(id, image, registry) {
void registry; void registry;
return Image.tag({id: id, repo: image}).$promise; return Image.tag({id: id, repo: image}).$promise;

View file

@ -224,9 +224,9 @@ function ($q, $scope, $state, $transition$, $filter, Commit, ContainerHelper, Co
if (!pullImage) { if (!pullImage) {
return $q.when(); return $q.when();
} }
return RegistryService.retrieveRegistryFromRepository(container.Config.Image) return RegistryService.retrievePorRegistryModelFromRepository(container.Config.Image)
.then(function pullImage(containerRegistry) { .then(function pullImage(registryModel) {
return ImageService.pullImage(containerRegistry, true); return ImageService.pullImage(registryModel, true);
}); });
} }