--- date: "2021-07-20T00:00:00+00:00" slug: "container" sidebar_position: 30 --- # 容器註冊表 為您的用戶或組織發布符合 [Open Container Initiative](https://opencontainers.org/) 規範的映像。 容器註冊表遵循 OCI 規範,支持所有兼容的映像,如 [Docker](https://www.docker.com/) 和 [Helm Charts](https://helm.sh/)。 ## 需求 要使用容器註冊表,您可以使用特定映像類型的工具。 以下範例使用 `docker` 客戶端。 ## 登錄到容器註冊表 要推送映像或如果映像在私有註冊表中,您必須進行身份驗證: ```shell docker login gitea.example.com ``` 如果您使用 2FA 或 OAuth,請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 ## 映像命名規則 映像必須遵循以下命名規則: `{registry}/{owner}/{image}` 在構建您的 docker 映像時,使用上述命名規則,這看起來像這樣: ```shell # 使用標籤構建映像 docker build -t {registry}/{owner}/{image}:{tag} . # 使用標籤命名現有映像 docker tag {some-existing-image}:{tag} {registry}/{owner}/{image}:{tag} ``` 其中您的註冊表是您的 gitea 實例的域名(例如 gitea.example.com)。 例如,以下是所有者 `testuser` 的所有有效映像名稱: `gitea.example.com/testuser/myimage` `gitea.example.com/testuser/my-image` `gitea.example.com/testuser/my/image` :::note 註冊表僅支持不區分大小寫的標籤名稱。因此 `image:tag` 和 `image:Tag` 被視為相同的映像和標籤。 ::: ## 推送映像 通過執行以下命令推送映像: ```shell docker push gitea.example.com/{owner}/{image}:{tag} ``` | 參數 | 描述 | | ------- | -------------- | | `owner` | 映像的擁有者。 | | `image` | 映像的名稱。 | | `tag` | 映像的標籤。 | 例如: ```shell docker push gitea.example.com/testuser/myimage:latest ``` ## 拉取映像 通過執行以下命令拉取映像: ```shell docker pull gitea.example.com/{owner}/{image}:{tag} ``` | 參數 | 描述 | | ------- | -------------- | | `owner` | 映像的擁有者。 | | `image` | 映像的名稱。 | | `tag` | 映像的標籤。 | 例如: ```shell docker pull gitea.example.com/testuser/myimage:latest ```