Просмотр исходного кода

Merge pull request #345 from infosiftr/tag-details-pull-by-digest

Add back "pull by digest" to the tag-details page...
Tianon Gravi 10 лет назад
Родитель
Сommit
01229fba04
1 измененных файлов с 11 добавлено и 2 удалено
  1. 11 2
      .template-helpers/generate-tag-details.pl

+ 11 - 2
.template-helpers/generate-tag-details.pl

@@ -83,7 +83,10 @@ sub get_manifest {
 
 
 	my $manifestTx = ua_req(get => "https://registry-1.docker.io/v2/$repo/manifests/$tag" => $authorizationHeader);
 	my $manifestTx = ua_req(get => "https://registry-1.docker.io/v2/$repo/manifests/$tag" => $authorizationHeader);
 	die "failed to get manifest for $image" unless $manifestTx->success;
 	die "failed to get manifest for $image" unless $manifestTx->success;
-	return $manifests{$image} = $manifestTx->res->json;
+	return (
+		$manifestTx->res->headers->header('Docker-Content-Digest'),
+		$manifests{$image} = $manifestTx->res->json,
+	);
 }
 }
 
 
 sub get_blob_headers {
 sub get_blob_headers {
@@ -161,7 +164,13 @@ while (my $image = shift) {
 	say '## `' . $image . '`';
 	say '## `' . $image . '`';
 	my ($repo, $tag) = split_image_name($image);
 	my ($repo, $tag) = split_image_name($image);
 
 
-	my $manifest = get_manifest($repo, $tag);
+	my ($digest, $manifest) = get_manifest($repo, $tag);
+
+	print "\n";
+	say '```console';
+	say '$ docker pull ' . $repo . '@' . $digest;
+	say '```';
+
 	my %parentChild;
 	my %parentChild;
 	my %totals = (
 	my %totals = (
 		virtual_size => 0,
 		virtual_size => 0,