Google GCR图像在哪里存储在Google存储中?

时间:2019-01-14 11:35:43

标签: google-cloud-platform google-container-registry

不知不觉中,我已从项目中删除以下存储桶

- (void)perform{
    RootViewController *rootController = self.sourceViewController;
    MasterViewController *previousMasterViewController = (MasterViewController *)rootController.collapseControllerForMaster.detailViewController;
    UIView *snapshotView = [previousMasterViewController.navigationController._outermostNavigationController.view snapshotViewAfterScreenUpdates:NO];

    MasterViewController *masterController = (MasterViewController *)[self.destinationViewController topViewController];
    rootController.collapseControllerForMaster.detailViewController = masterController;

    UIView *view = [previousMasterViewController.deleteBarButtonItem valueForKey:@"view"];
    CGRect rect = [view convertRect:view.frame toView:masterController.view.window];

    [super perform];
    [masterController.navigationController._outermostNavigationController.view addSubview:snapshotView];

    [CATransaction flush];

    [UIView beginAnimations:@"delete" context:NULL];
    [UIView setAnimationTransition:103 forView:masterController.navigationController._outermostNavigationController.view cache:YES];
    [UIView setAnimationDuration:0.5f];
    [UIView setAnimationPosition:CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect))];
    [snapshotView removeFromSuperview];

    [UIView commitAnimations];
}

这已删除了gcr中的所有图像。让我知道上面的存储桶是否是gcr图像的存储位置,还是其他内容?

此外,当我创建新图像并将其推送到gcr时,gcr控制台中所有已删除的图像都已恢复。但是,每当我尝试拉出任何旧图像时,它都会引发“未知斑点”错误。

1 个答案:

答案 0 :(得分:1)

是的,这些存储桶是构建和存储docker容器工件的地方。(工件是构建步骤的结果,加起来就是一个图像)

然后,它们会被Google容器注册表(即gcr.io)引用,但它们仍将位于您的存储桶中。

由于您删除了存储桶及其内容,因此您将在构建的映像中丢失旧的构建步骤,这就是为什么您会收到error pulling image configuration: unknown blob错误消息的原因。

例如,我在this documentation之后上传了新图像,然后删除了artifacts.<PROJECT-ID>.appspot.com存储桶。然后,使用标签(我使用quickstart-image:tag1并以这种方式拉动它时,重新上传了它:

docker pull gcr.io/wave16-joan/quickstart-image:latest

我收到了error pulling image configuration: unknown blob错误消息,因为它缺少我先前构建中已经执行的步骤。

但是,这样做:

docker pull gcr.io/wave16-joan/quickstart-image:tag1

拉我的照片没有任何问题。

关于您的第二个问题,我相信您在Container Registry中看到的是对已删除图像的引用的原因,这是因为GCR仍在保存对构建这些图像的步骤的引用,但是由于它们已被删除,他们不能被拉。