我正在尝试在 CodeSpace 中预配置一个私有容器注册表,以便研讨会参与者可以使用它。根据文档,这一切都非常简单,但看起来我遗漏了一些东西,因为它不起作用,并且文档不清楚我在接收端需要期待什么。
到目前为止我所做的:
- 我有一个继承自 univesal-linux:1.6.4 的自定义 CodeSpace 容器映像
- 我已经配置了 3 个记录的变量:
- GH_CONTAINER_REGISTRY_SERVER=ghcr.io
- GH_CONTAINER_REGISTRY_USER=jessehouwing
- GH_CONTAINER_REGISTRY_PASSWORD=具有包(读取)权限的 PAT
- 我已经重建了代码空间
- 我尝试了不同的前缀
GH_
,但无济于事。
如果我正确阅读了文档,这应该确保 docker 可以使用我的凭据从 ghcr 中提取,但我得到的只是一个错误:
codespace ➜ /workspaces/attendee-jessehouwing (main) $ docker pull ghcr.io/xxxxx-customers/xxxxx-cli
Using default tag: latest
Error response from daemon: Head "https://ghcr.io/v2/xxxxx-customers/xxxxx-cli/manifests/latest": unauthorized
我在 vscode-container 存储库中搜索了我可能必须在自定义容器上配置的内容的提示,但我并没有发现任何错误。
自定义容器dockerfile:
FROM mcr.microsoft.com/vscode/devcontainers/universal:1-linux
USER codespace
RUN az extension add --name azure-devops
我在标准的 vscode 容器中尝试过,看到了相同的行为。我一定做错了什么。
这些秘密作为一组存储库秘密注册在同一个存储库中,我正在从同一个存储库启动代码空间: