【发布时间】:2020-06-15 06:09:07
【问题描述】:
我一直在使用 GKE 部署一些公共镜像,例如 redis 和 postgres。但是我遇到了一个有趣的问题,它不会提取图像,似乎带有特定的标签。 我不断收到的错误是:
无法提取图像“postgres:alpine”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:获取 https://registry-1.docker.io/v2/:net/http:在等待连接时取消请求(等待标头时超出了 Client.Timeout)
我一直在尝试在有效和无效的模式中发现一种模式,似乎没有任何标签的模式总是有效的;一些已经有效的图片示例:
redis:alpinepostgres
还有那些没有的:
postgres:alpinepostgres:12
我验证我可以使用docker pull 将所有这些图像拉到我的本地机器上。
这是我使用的示例部署 kube 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
labels:
app: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- image: postgres:alpine
name: postgres
ports:
- containerPort: 5432
name: postgres
我希望我错过了一些非常明显的东西。干杯。
【问题讨论】:
-
嗨马里奥;不,它是一个公共注册表(docker hub);是什么让你说它清楚地表明需要身份验证?我按照您的建议检查了日志,但除了很多
Error syncing pod..., skipping: failed to "StartContainer" for "postgres" with ImagePullBackOff: "Back-off pulling image \"postgres:alpine\""之外没有其他详细信息 -
让我们删除这些 cmets,因为我最初的推理可能不是最准确的;)看起来这是一个很常见的问题,解决方案可能很简单(参见:我的回答)。
-
顺便说一句。您是在使用标准 Container-Optimized OS 还是对您而言不同的 GKE 节点?