diff --git a/eng/versioning/external_dependencies.txt b/eng/versioning/external_dependencies.txt
index 07cd02ef9c7c..d0b925e892cc 100644
--- a/eng/versioning/external_dependencies.txt
+++ b/eng/versioning/external_dependencies.txt
@@ -285,8 +285,8 @@ cosmos_org.apache.kafka:connect-api;3.6.0
cosmos_com.jayway.jsonpath:json-path;2.9.0
# Cosmos Kafka connector tests only
cosmos_org.apache.kafka:connect-runtime;3.6.0
-cosmos_org.testcontainers:testcontainers;1.19.5
-cosmos_org.testcontainers:kafka;1.19.5
+cosmos_org.testcontainers:testcontainers;1.21.4
+cosmos_org.testcontainers:kafka;1.21.4
cosmos_org.sourcelab:kafka-connect-client;4.0.4
cosmos_io.confluent:kafka-avro-serializer;7.6.0
cosmos_org.apache.avro:avro;1.11.4
diff --git a/sdk/cosmos/azure-cosmos-kafka-connect/pom.xml b/sdk/cosmos/azure-cosmos-kafka-connect/pom.xml
index cc74bc14e186..1a53649b7b1d 100644
--- a/sdk/cosmos/azure-cosmos-kafka-connect/pom.xml
+++ b/sdk/cosmos/azure-cosmos-kafka-connect/pom.xml
@@ -227,13 +227,13 @@ Licensed under the MIT License.
org.testcontainers
testcontainers
- 1.19.5
+ 1.21.4
test
org.testcontainers
kafka
- 1.19.5
+ 1.21.4
test
diff --git a/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSinkConnectorTest.java b/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSinkConnectorTest.java
index e4488339a55c..9565b8af3675 100644
--- a/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSinkConnectorTest.java
+++ b/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSinkConnectorTest.java
@@ -9,6 +9,7 @@
import com.azure.cosmos.implementation.DocumentCollection;
import com.azure.cosmos.implementation.Strings;
import com.azure.cosmos.implementation.TestConfigurations;
+import com.azure.cosmos.implementation.apachecommons.lang.tuple.Pair;
import com.azure.cosmos.implementation.caches.AsyncCache;
import com.azure.cosmos.kafka.connect.implementation.CosmosAadAuthConfig;
import com.azure.cosmos.kafka.connect.implementation.CosmosAuthType;
@@ -24,7 +25,6 @@
import org.apache.kafka.common.config.ConfigDef;
import org.apache.kafka.common.config.ConfigValue;
import org.apache.kafka.common.config.types.Password;
-import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Pair;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import reactor.core.publisher.Mono;
diff --git a/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSourceConnectorTest.java b/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSourceConnectorTest.java
index cad847a38f91..57756d3b1487 100644
--- a/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSourceConnectorTest.java
+++ b/sdk/cosmos/azure-cosmos-kafka-connect/src/test/java/com/azure/cosmos/kafka/connect/CosmosSourceConnectorTest.java
@@ -12,6 +12,7 @@
import com.azure.cosmos.implementation.Strings;
import com.azure.cosmos.implementation.Utils;
import com.azure.cosmos.implementation.apachecommons.lang.StringUtils;
+import com.azure.cosmos.implementation.apachecommons.lang.tuple.Pair;
import com.azure.cosmos.implementation.caches.AsyncCache;
import com.azure.cosmos.implementation.changefeed.common.ChangeFeedMode;
import com.azure.cosmos.implementation.changefeed.common.ChangeFeedStartFromInternal;
@@ -53,7 +54,6 @@
import org.apache.kafka.common.config.types.Password;
import org.apache.kafka.connect.source.SourceConnectorContext;
import org.mockito.Mockito;
-import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Pair;
import org.testng.annotations.Test;
import reactor.core.publisher.Mono;
diff --git a/sdk/cosmos/kafka.yml b/sdk/cosmos/kafka.yml
index 771b39c6e56a..76acbfe0cac7 100644
--- a/sdk/cosmos/kafka.yml
+++ b/sdk/cosmos/kafka.yml
@@ -35,3 +35,25 @@ extends:
AdditionalVariables:
- name: AdditionalArgs
value: ''
+ PreTestRunSteps:
+ - script: |
+ if ! command -v docker &>/dev/null; then
+ echo "Docker not found; please install Docker or ensure it's available on the agent."
+ exit 1
+ fi
+
+ # wait for docker daemon to be ready
+ for i in {1..30}; do
+ if docker info >/dev/null 2>&1; then
+ echo "Docker is running"
+ break
+ fi
+ echo "Waiting for Docker to start... ($i/30)"
+ sleep 2
+ done
+
+ if ! docker info >/dev/null 2>&1; then
+ echo "Docker failed to start"
+ exit 1
+ fi
+ displayName: 'Ensure Docker is installed and running'
\ No newline at end of file