diff --git a/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs b/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs
index 4ec2387c6..cafcef128 100644
--- a/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs
+++ b/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs
@@ -3,6 +3,7 @@ namespace DotNet.Testcontainers.Builders
using System;
using System.Collections.Generic;
using System.IO;
+ using System.Text.RegularExpressions;
using Docker.DotNet.Models;
using DotNet.Testcontainers.Configurations;
using DotNet.Testcontainers.Images;
@@ -65,7 +66,8 @@ public ImageFromDockerfileBuilder WithName(IImage name)
///
public ImageFromDockerfileBuilder WithDockerfile(string dockerfile)
{
- return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(dockerfile: dockerfile));
+ var dockerfileFilePath = Regex.Replace(dockerfile, "^\\.(\\/|\\\\)", string.Empty, RegexOptions.None, TimeSpan.FromSeconds(1));
+ return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(dockerfile: dockerfileFilePath));
}
///
diff --git a/tests/Testcontainers.Tests/Unit/Images/ImageFromDockerfileTest.cs b/tests/Testcontainers.Tests/Unit/Images/ImageFromDockerfileTest.cs
index 116b4d323..a590d83f6 100644
--- a/tests/Testcontainers.Tests/Unit/Images/ImageFromDockerfileTest.cs
+++ b/tests/Testcontainers.Tests/Unit/Images/ImageFromDockerfileTest.cs
@@ -100,8 +100,11 @@ public async Task ThrowsDockerfileDirectoryDoesNotExist()
Assert.Equal($"Directory '{Path.GetFullPath(dockerfileDirectory)}' does not exist.", exception.Message);
}
- [Fact]
- public async Task BuildsDockerImage()
+ [Theory]
+ [InlineData("Dockerfile")]
+ [InlineData("./Dockerfile")]
+ [InlineData(".\\Dockerfile")]
+ public async Task BuildsDockerImage(string dockerfile)
{
// Given
IImage tag1 = new DockerImage("localhost/testcontainers", Guid.NewGuid().ToString("D"), string.Empty);
@@ -110,7 +113,7 @@ public async Task BuildsDockerImage()
var imageFromDockerfileBuilder = new ImageFromDockerfileBuilder()
.WithName(tag1)
- .WithDockerfile("Dockerfile")
+ .WithDockerfile(dockerfile)
.WithDockerfileDirectory("Assets/")
.WithDeleteIfExists(true)
.WithCreateParameterModifier(parameterModifier => parameterModifier.Tags.Add(tag2.FullName))