我在运行 AWS 批处理作业时收到以下错误:
ResourceInitializationError:无法提取机密或注册表身份验证:执行资源检索失败:无法检索 ecr 注册表身份验证:服务调用已重试 3 次:RequestError:发送请求失败,原因是:发布 https://api.ecr。 us-east-1.amazonaws.com/:拨打 tcp 54.239.19.155:443:i/o 超时
我正在为 AWS 批量计算环境使用 Fargate 选项。
我的 VPC 包含一个具有“自动分配公共 IPv4 地址”的子网、一个互联网网关和一个匹配的路由表。我认为这可能是我的 VPC 中的问题,因此为了验证这一点,我在 VPC 中启动了一个新的 EC2 实例,并在 EC2 实例中运行curl 到https://api.ecr.us-east-1 .amazonaws.com。卷曲可以毫无问题地连接。
可能是什么问题呢?
我有一个在 GCP 云构建上运行的 CI/CD 构建系统。它在码头推送时偶尔会失败,并出现错误:“未知的斑点”(见下文)。重新运行失败的作业以成功结果结束。
CI/CD 是一个运行 shell 脚本的 Google CloudBuild 作业。shell 脚本运行 docker build,然后运行 docker Push,因此构建后的镜像在本地可用。
docker build -f Dockerfile -t gcr.io/XXX/YYY/ZZZ/test:latest-stage1
docker push gcr.io/XXX/YYY/ZZZ/test:latest-stage1
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?也许我可以添加一些额外的命令来打印一些调试信息以供下次发生?
Pushing image gcr.io/XXX/YYY/ZZZ/test:latest-stage1
The push refers to repository [gcr.io/XXX/YYY/ZZZ/test]
4eed37762d61: Preparing
a68d95ff11ea: Preparing
dddcf18e7786: Preparing
e8c437b49d31: Preparing
dea41e2ed72f: Preparing
b660dabbb08d: Preparing
3434e68efd32: Preparing
efc45381b778: Preparing
0902cfca6c4f: Preparing
66f4f21514da: Preparing
9e27e8abe53b: Preparing
7b5ae180667a: Preparing
613ab28cf833: Preparing
bed676ceab7a: Preparing
6398d5cccd2c: Preparing
0b0f2f2f5279: Preparing
b660dabbb08d: Waiting
3434e68efd32: Waiting
efc45381b778: Waiting
0902cfca6c4f: Waiting
66f4f21514da: Waiting
9e27e8abe53b: Waiting …Run Code Online (Sandbox Code Playgroud) 我正在使用 Go 竞争检测(-race 参数),它检测到一些我认为不应该报告的竞争条件问题。我创建了这个示例代码来解释我的发现。请不要对此示例的目标发表评论,因为它除了解释问题之外没有其他目标。
这段代码:
var count int
func main() {
go update()
for {
fmt.Println(count)
time.Sleep(time.Second)
}
}
func update() {
for {
time.Sleep(time.Second)
count++
}
}
Run Code Online (Sandbox Code Playgroud)
报告有竞争条件。
虽然这段代码:
var count int
var mutex sync.RWMutex
func main() {
go update()
for {
mutex.RLock()
fmt.Println(count)
mutex.RUnlock()
time.Sleep(time.Second)
}
}
func update(){
for {
time.Sleep(time.Second)
mutex.Lock()
count++
mutex.Unlock()
}
}
Run Code Online (Sandbox Code Playgroud)
没有报告任何竞争条件问题。
我的问题是为什么?第一个代码中没有错误。main 函数正在读取另一个 go 例程正在更新的变量。这里没有潜在的隐藏错误。第二个代码互斥锁不提供任何不同的行为。
我哪里错了?