Igo*_*hev 3 google-compute-engine docker google-container-registry
无法得到我做错的事......
基于Container Optimized OS在新的计算引擎实例上执行后续步骤:
docker-credential-gcr configure-dockersudo docker run --detach --name=echo --net=esp_net gcr.io/around-dev/firebase-service-image:latest得到以下内容:
无法在本地找到图像'gcr.io/around-dev/firebase-service-image:latest'拉动存储库gcr.io/around-dev/firebase-service-image docker:unauthorized:需要验证.请参阅'docker run --help'.
然后尝试实际登录docker-credential-gcr gcr-login并运行,但仍然得到相同的错误.毕竟我的.docker/.config.json看起来像:
{
"auths": {},
"credHelpers": {
"asia.gcr.io": "gcr",
"eu.gcr.io": "gcr",
"gcr.io": "gcr",
"staging-k8s.gcr.io": "gcr",
"us.gcr.io": "gcr"
}
Run Code Online (Sandbox Code Playgroud)
显然没有存储凭据.有人可以向我解释我做错了什么吗?提前致谢.
你看到这个错误,因为你docker-credential-gcr configure-docker没有sudo然后运行sudo docker run ....运行时sudo docker,它会查找配置文件/root/.docker/并找不到任何内容,从而引发authentication required错误.
sudo docker-credential-gcr configure-docker不会修复它当您运行COS时,您没有对所有目录的写入权限.只有少数目录是可写的,/root而不是其中之一.因此,docker-credential-gcr以root身份运行 失败,因为它无法在$HOME目录中编写docker配置文件(恰好是/root).
有关可写目录的更多详细信息:https://cloud.google.com/container-optimized-os/docs/concepts/security#filesystem
1 - 覆盖 $HOME
sudo HOME=/home/root /usr/bin/docker-credential-gcr configure-docker
sudo HOME=/home/root docker run --detach --name=echo --net=esp_net gcr.io/around-dev/firebase-service-image:latest
2 - 手动指定配置文件位置
您还可以使用每个命令包含docker config目录的路径.例如,如果您知道docker在/home/root/.docker目录中配置了凭据,则可以运行以下命令:sudo docker --config /home/root/.docker pull gcr.io/my-project/alpine:3.2
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |