From 1181951122bb80bfd27752a3d78b7c626145c663 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 24 Sep 2026 08:38:04 +0000 Subject: [PATCH 1/5] Initial plan From 41e8f64962f7cf2959fcc79fe72dd1439a327297 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 24 Sep 2026 08:40:50 +0000 Subject: [PATCH 2/5] Document Testcontainers skip API check usage Co-authored-by: jainakanksha-msft <181211853+jainakanksha-msft@users.noreply.github.com> --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/README.md b/README.md index 35366126a..aabf7f19b 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ - [NPM](#npm) - [Visual Studio Code Extension](#visual-studio-code-extension) - [DockerHub](#dockerhub) + - [Testcontainers](#testcontainers) - [Docker Compose](#docker-compose) - [NuGet](#nuget) - [Visual Studio](#visual-studio) @@ -291,6 +292,38 @@ Above command will try to start Azurite image with configurations: > Will support more release channels for Azurite V3 in the future. +#### Testcontainers + +When using Testcontainers, pass `--skipApiVersionCheck` through the container command configuration. + +For .NET, use the [Azurite module](https://testcontainers.com/modules/azurite/) with [`WithCommand`](https://dotnet.testcontainers.org/api/create_docker_container/#configure-container-start): + +```csharp +using Testcontainers.Azurite; + +AzuriteContainer azurite = new AzuriteBuilder() + .WithImage("mcr.microsoft.com/azure-storage/azurite:latest") + .WithCommand("--skipApiVersionCheck") + .Build(); +``` + +For Java, use [`GenericContainer.withCommand`](https://java.testcontainers.org/features/commands/#container-startup-command) and include the Azurite command plus the host bindings: + +```java +GenericContainer azurite = + new GenericContainer<>(DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:latest")) + .withExposedPorts(10000, 10001, 10002) + .withCommand( + "azurite", + "--blobHost", + "0.0.0.0", + "--queueHost", + "0.0.0.0", + "--tableHost", + "0.0.0.0", + "--skipApiVersionCheck"); +``` + #### Docker Compose To run Azurite in Docker Compose, you can start with the following configuration: From 14e2c414d27d84291820dad943b9971f98738eee Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 24 Sep 2026 08:41:25 +0000 Subject: [PATCH 3/5] Clarify Testcontainers Azurite command examples Co-authored-by: jainakanksha-msft <181211853+jainakanksha-msft@users.noreply.github.com> --- README.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index aabf7f19b..d00462f94 100644 --- a/README.md +++ b/README.md @@ -296,14 +296,20 @@ Above command will try to start Azurite image with configurations: When using Testcontainers, pass `--skipApiVersionCheck` through the container command configuration. -For .NET, use the [Azurite module](https://testcontainers.com/modules/azurite/) with [`WithCommand`](https://dotnet.testcontainers.org/api/create_docker_container/#configure-container-start): +For .NET, use the [Azurite module](https://testcontainers.com/modules/azurite/) with [`WithCommand`](https://dotnet.testcontainers.org/api/create_docker_container/#configure-container-start), including the Azurite host bindings: ```csharp using Testcontainers.Azurite; -AzuriteContainer azurite = new AzuriteBuilder() - .WithImage("mcr.microsoft.com/azure-storage/azurite:latest") - .WithCommand("--skipApiVersionCheck") +AzuriteContainer azurite = new AzuriteBuilder("mcr.microsoft.com/azure-storage/azurite:latest") + .WithCommand( + "--blobHost", + "0.0.0.0", + "--queueHost", + "0.0.0.0", + "--tableHost", + "0.0.0.0", + "--skipApiVersionCheck") .Build(); ``` From 94ed6388c1e8051e8d264b4ae10089017be9059b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 24 Sep 2026 08:41:53 +0000 Subject: [PATCH 4/5] Use fluent AzuriteBuilder image sample Co-authored-by: jainakanksha-msft <181211853+jainakanksha-msft@users.noreply.github.com> --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d00462f94..020e61249 100644 --- a/README.md +++ b/README.md @@ -301,7 +301,8 @@ For .NET, use the [Azurite module](https://testcontainers.com/modules/azurite/) ```csharp using Testcontainers.Azurite; -AzuriteContainer azurite = new AzuriteBuilder("mcr.microsoft.com/azure-storage/azurite:latest") +AzuriteContainer azurite = new AzuriteBuilder() + .WithImage("mcr.microsoft.com/azure-storage/azurite:latest") .WithCommand( "--blobHost", "0.0.0.0", From ae42292f9ad0627dc4ea9021de8520d8fbb6c1be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 24 Sep 2026 10:31:32 +0000 Subject: [PATCH 5/5] Use image constructor for AzuriteBuilder and preserve -l /data for Java example Co-authored-by: jainakanksha-msft <181211853+jainakanksha-msft@users.noreply.github.com> --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 020e61249..ec70b9a3b 100644 --- a/README.md +++ b/README.md @@ -301,8 +301,7 @@ For .NET, use the [Azurite module](https://testcontainers.com/modules/azurite/) ```csharp using Testcontainers.Azurite; -AzuriteContainer azurite = new AzuriteBuilder() - .WithImage("mcr.microsoft.com/azure-storage/azurite:latest") +AzuriteContainer azurite = new AzuriteBuilder("mcr.microsoft.com/azure-storage/azurite:latest") .WithCommand( "--blobHost", "0.0.0.0", @@ -314,7 +313,9 @@ AzuriteContainer azurite = new AzuriteBuilder() .Build(); ``` -For Java, use [`GenericContainer.withCommand`](https://java.testcontainers.org/features/commands/#container-startup-command) and include the Azurite command plus the host bindings: +> `AzuriteBuilder` already configures the container's entrypoint as `azurite`, so `WithCommand` only needs the flags, not the `azurite` executable name. + +For Java, use [`GenericContainer.withCommand`](https://java.testcontainers.org/features/commands/#container-startup-command) and include the Azurite command, the `-l /data` persistence path, and the host bindings, since `withCommand` replaces the image's entire default command: ```java GenericContainer azurite = @@ -322,6 +323,8 @@ GenericContainer azurite = .withExposedPorts(10000, 10001, 10002) .withCommand( "azurite", + "-l", + "/data", "--blobHost", "0.0.0.0", "--queueHost",