[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-18。"],[[["\u003cp\u003eArtifact Registry uses a specific naming convention for repositories and images, involving location, project ID, and repository name, to be used with the API, \u003ccode\u003egcloud\u003c/code\u003e, and \u003ccode\u003edocker\u003c/code\u003e commands.\u003c/p\u003e\n"],["\u003cp\u003eThe format for a Docker repository is \u003ccode\u003eLOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY\u003c/code\u003e, where LOCATION, PROJECT-ID, and REPOSITORY are the respective values.\u003c/p\u003e\n"],["\u003cp\u003eContainer image names follow the format \u003ccode\u003eLOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE\u003c/code\u003e, and can include a \u003ccode\u003e:TAG\u003c/code\u003e or \u003ccode\u003e@IMAGE-DIGEST\u003c/code\u003e to specify a version.\u003c/p\u003e\n"],["\u003cp\u003eImage versions can be identified by either a unique, immutable digest or a mutable or immutable tag, and the tag points to the digest of the latest version pushed.\u003c/p\u003e\n"],["\u003cp\u003eIf a Project ID is scoped to a domain, the colon in the project id will be replaced with a forward slash in the image specification.\u003c/p\u003e\n"]]],[],null,["# Repository and image names\n\nArtifact Registry uses a naming convention to identify repositories and images\nwhen you use the API, `gcloud`, and `docker` commands to interact with\nrepositories.\n\nDocker repositories\n-------------------\n\nThe full name for a docker repository is in the following format: \n\n```\nLOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY\n```\n\nWhere:\n\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eLOCATION\u003c/code\u003e\u003c/var\u003e is the regional or multi-regional [location](/artifact-registry/docs/repositories/repo-locations) of the repository.\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ePROJECT\u003c/code\u003e\u003c/var\u003e is your Google Cloud console [project ID](/resource-manager/docs/creating-managing-projects#identifying_projects). If your project ID contains a colon (`:`), see [Domain-scoped projects](/artifact-registry/docs/docker/names#domain).\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eREPOSITORY\u003c/code\u003e\u003c/var\u003e is the name of the repository.\n\nFor example, consider an image with the following characteristics:\n\n- Repository location: `us-west1`\n- Repository format: `docker`\n- Repository name: `my-repo`\n- Project ID: `my-project`\n\nThe repository is specified as: \n\n us-west1-docker.pkg.dev/my-project/my-repo\n\nContainer image names\n---------------------\n\nThe full name for a container image is one of the following formats: \n\n```\nLOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE\n```\n\n\u003cbr /\u003e\n\nor \n\n```\nLOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG\n```\n\nor \n\n```\nLOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST\n```\n\nwhere:\n\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eLOCATION\u003c/code\u003e\u003c/var\u003e is the regional or multi-regional [location](/artifact-registry/docs/repositories/repo-locations) of the repository.\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ePROJECT\u003c/code\u003e\u003c/var\u003e is your Google Cloud console [project ID](/resource-manager/docs/creating-managing-projects#identifying_projects). If your project ID contains a colon (`:`), see [Domain-scoped projects](/artifact-registry/docs/docker/names#domain).\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eREPOSITORY\u003c/code\u003e\u003c/var\u003e is the name of the repository where the image is stored.\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eIMAGE\u003c/code\u003e\u003c/var\u003e is the name of the image in the repository.\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eTAG\u003c/code\u003e\u003c/var\u003e is the tag for the image version that you want to pull.\n- \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eIMAGE-DIGEST\u003c/code\u003e\u003c/var\u003e is the sha256 hash value of the image contents. In Google Cloud console, click the specific image to see its metadata. The digest is listed as the **Image digest** . If you don't specify a tag or a digest, Artifact Registry looks for the image with the default tag `latest`. See [Container image versions](#versions) for information about versions.\n\nFor example, consider an image with the following characteristics:\n\n- Repository location: `us-west1`\n- Repository name: `my-repo`\n- Project ID: `my-project`\n- Image name: `test`\n- Tag: `staging`\n\nThis version of the image tagged with staging is specified as: \n\n us-west1-docker.pkg.dev/my-project/my-repo/test:staging\n\nContainer image versions\n------------------------\n\nA repository can contain many container images, and these images can have\ndifferent versions. To identify a specific version of an image, you\ncan specify the image digest or tag.\n\nDigest\n: An image digest is an automatically generated hash of the image index or image\n manifest. Each image digest is a unique identifier for an image version and\n cannot be changed. The digest is the sha256 hash value of the image contents.\n\nTag\n\n: An image tag is a label and is often a human-readable string such as `v1.1` or\n `development`. A tag can only point to only one version of an image. In\n Artifact Registry, you can configure a Docker repository to allow mutable\n image tags or enforce immutable image tags.\n\n - **Mutable**: A tag points to only one version of an image, but the specific\n digest that it references can change.\n\n A common approach is to tag images with a version identifier, such as `v1.1`\n at build time. When the build pushes multiple versions of the image to\n the registry with the same `v1.1` tag, the tag references the digest of the\n last version pushed to the registry. Although mutable image tags provide a\n convenient way to label versions, they can also be manipulated by a bad\n actor to associate a tag with a malicious version of an image.\n - **Immutable**: In the repository, a tag always points to the same image\n digest. If an Artifact Registry repository is configured for immutable\n image tags, the following actions are not permitted:\n\n - Delete a tagged image. Deleting untagged images is still permitted.\n - Remove a tag from an image.\n - Push an image with a tag that is already used by another version of the image in the repository.\n\nFor example, consider an image with the following characteristics:\n\n- Repository location: `us-west1`\n- Repository name: `my-repo`\n- Project ID: `my-project`\n- Image name: `test`\n- Tag: `staging`\n- Digest: `sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d`\n\nTo identify the image with the tag, append `:staging` to the image name: \n\n us-west1-docker.pkg.dev/my-project/my-repo/test:staging\n\nTo identify it with the digest, append `@` to the image name, followed by the\ndigest: \n\n us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d\n\nIf your project ID contains a colon (`:`), see [Domain-scoped projects](/artifact-registry/docs/docker/names#domain).\n\nIn the console, on the **Images** screen, the **Tags** column lists the image's\ntags. Click the version of the image to see metadata, including the\n**Image digest**.\n\nSee [Tagging Images](/artifact-registry/docs/docker/manage-images#tag) for more information about\ntagging.\n\nDomain-scoped projects\n----------------------\n\nIf your project is scoped to your domain, the project ID includes the name of\nthe domain followed by a colon (`:`). Because of how Docker treats colons,\nyou must replace the colon character with a forward slash when you specify\nan image digest in Artifact Registry. Identify images in these types of\nprojects using the following format: \n\n```\nLOCATION-docker.pkg.dev/DOMAIN/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST\n```\n\nFor example, the project with ID `example.com:my-project` could have the\nfollowing image: \n\n us-west1-docker.pkg.dev/example.com/my-project/my-repo/image-name\n\n| **Note:** Scoping projects to a domain is a legacy feature. You cannot create new domain-scoped projects.\n\nRepository names as URLs\n------------------------\n\nTo access a repository or artifact in a repository in Google Cloud console,\nprepend `https://` to its full name.\n\nFor example, to view the repository `us-west1-maven.pkg.dev/my-project/my-repo`, use\nthe following URL: \n\n https://us-west1-maven.pkg.dev/my-project/my-repo\n\nTo view the image `us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image`,\nuse the following URL: \n\n https://us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image\n\nAny authenticated user who has permission to access the repository can use these\nlinks."]]