我正在尝试在 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 并将其发送到构建守护程序。如此之多,以至于如果您运行docker build -
它将期望来自 stdin的焦油流。
你可以做这样的事情来添加构建目录并将其传递给BuildImageFromDockerFileAsync
:https://github.com/dotnet/Docker.DotNet/issues/309#issuecomment-547316442