FROM <custom-name>.artifactory.<company>.net/base/gobuilder:latest as builder
...
FROM <custom-name>.artifactory.<company>.net/base/distroless-base:<hash>
...
我对testcontainers库有一个问题,在大多数情况下,它只是运行Docker容器,所以我想答案是Docker特定的,而不是绑定到库本身。
你可以在Artifactory注册表中看到我的Dockerfile的轮廓,它使用我们公司的图像。它在CI/CD中工作得很好,但由于某些原因,它不能与这个库一起工作。
req := testcontainers.ContainerRequest{
FromDockerfile: testcontainers.FromDockerfile{
Context: "/path/to/context/,
Dockerfile: "Dockerfile",
},
}
container, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{
ContainerRequest: req,
Started: true,
})
这就是我在代码中创建容器的方式。
我得到的是这个错误:
Error response from daemon: no such image: 9305d9c8-1cfe-4c16-924b-3f734757d016:a6417aac-340b-4c37-a785-a45aa11f9ede: No such image: 9305d9c8-1cfe-4c16-924b-3f734757d016:a6417aac-340b-4c37-a785-a45aa11f9ede: failed to create container
--- FAIL: TestContainer
尽管如此,如果我运行docker images -a
,我会看到下面列出的图像:
<custom-name>.artifactory.<company>.net/base/gobuilder latest 0ca0c1df3fa1 3 months ago 935MB
我已经多次尝试重新启动Docker服务,但没有运气。
我还能做什么?
作为一个实验,我尝试在Go语言中使用一个公共的图像,但是得到了同样的错误,而且奇怪的是,它在返回错误时显示了一个不存在的图像散列。
1条答案
按热度按时间cbjzeqam1#
您使用的是什么版本的Testcontainers for Go?在最新版本v0.19.0中,可以从私有注册中心的Docker文件构建,而无需传递证书,因为Docker证书助手会自动发现证书。https://golang.testcontainers.org/features/docker_auth/
}
在以前的版本中,强制将auth凭据作为
FromDockerfile
结构的一部分传递。