gpt4 book ai didi

c# - 在Docker.DotNet中,如何通过指定Dockerfile的目录来构建镜像?

转载 作者:行者123 更新时间:2023-12-02 19:18:22 26 4
gpt4 key购买 nike

我正在尝试为C#xunit测试中的集成测试构建镜像并启动容器。我目前有下面的代码,但找不到指定docker文件的路径。客户端确实具有Images.BuildImageFromDockerfileAsync,但是可以处理TAR文件的解压缩。

        using(var client = new DockerClientConfiguration(
new Uri(RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
? "npipe://./pipe/docker_engine"
: "unix:/var/run/docker.sock")).CreateClient())
{
await client
.Images
.CreateImageAsync(
new ImagesCreateParameters(),
new AuthConfig(),
new Progress<JSONMessage>());

}

我想使用Docker.DotNet API做等效于 docker build -t yyyy -f ./zzzzzz/Dockerfile .的方法,但是我无法找到一种方法来做到这一点。任何帮助将不胜感激。

最佳答案

docker build命令有效地创建整个工作目录的Tar,并将其发送到build守护程序。如此之多,以至于如果您运行docker build -,它将期望来自stdin的tar流。

您可以执行以下操作来压缩构建目录并将其传递给BuildImageFromDockerFileAsync:https://github.com/dotnet/Docker.DotNet/issues/309#issuecomment-547316442

关于c# - 在Docker.DotNet中,如何通过指定Dockerfile的目录来构建镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61856360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com