diff --git a/README.md b/README.md
index 6ece2c80..d04af99e 100644
--- a/README.md
+++ b/README.md
@@ -6,3 +6,4 @@
* *unit-testing-spring-boot* - то же самое, только на Spring Boot
* *hibernate-fetch-mode-demo* - демонстрация настроек Hibernate, в частности для решения проблемы N+1
* *mongo-db-demo* - демонстрация подходов к хранению вложенных сущностенй в MongoDB, работы с MongoEventListener, агрегациями и инструментом миграций Mongock
+* *docker-test-containers* - пример настройки TestContainers для монги
diff --git a/docker-test-containers/.gitignore b/docker-test-containers/.gitignore
new file mode 100644
index 00000000..153c9335
--- /dev/null
+++ b/docker-test-containers/.gitignore
@@ -0,0 +1,29 @@
+HELP.md
+/target/
+!.mvn/wrapper/maven-wrapper.jar
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+/build/
+
+### VS Code ###
+.vscode/
diff --git a/docker-test-containers/pom.xml b/docker-test-containers/pom.xml
new file mode 100644
index 00000000..4c1284c9
--- /dev/null
+++ b/docker-test-containers/pom.xml
@@ -0,0 +1,66 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.4.RELEASE
+
+
+ ru.otus
+ docker
+ 0.0.1-SNAPSHOT
+ docker
+ Demo project for Spring Boot
+
+
+ 11
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ junit
+ junit
+
+
+
+
+ org.testcontainers
+ junit-jupiter
+ 1.11.2
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ 5.4.0
+ test
+
+
+ org.testcontainers
+ testcontainers
+ 1.11.2
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/docker-test-containers/src/main/java/ru/otus/docker/DockerApplication.java b/docker-test-containers/src/main/java/ru/otus/docker/DockerApplication.java
new file mode 100644
index 00000000..a5c1c587
--- /dev/null
+++ b/docker-test-containers/src/main/java/ru/otus/docker/DockerApplication.java
@@ -0,0 +1,13 @@
+package ru.otus.docker;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DockerApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(DockerApplication.class, args);
+ }
+
+}
diff --git a/docker-test-containers/src/main/resources/application.properties b/docker-test-containers/src/main/resources/application.properties
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/docker-test-containers/src/main/resources/application.properties
@@ -0,0 +1 @@
+
diff --git a/docker-test-containers/src/test/java/ru/otus/docker/DockerApplicationTests.java b/docker-test-containers/src/test/java/ru/otus/docker/DockerApplicationTests.java
new file mode 100644
index 00000000..b56f47de
--- /dev/null
+++ b/docker-test-containers/src/test/java/ru/otus/docker/DockerApplicationTests.java
@@ -0,0 +1,36 @@
+package ru.otus.docker;
+
+import com.mongodb.MongoClient;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+import java.util.HashMap;
+
+@Testcontainers
+@ExtendWith(SpringExtension.class)
+@SpringBootTest
+public class DockerApplicationTests {
+ private MongoTemplate mongoTemplate;
+ @Container
+ public GenericContainer mongo = new GenericContainer("mongo").withExposedPorts(27017);
+
+ @BeforeEach
+ public void before() throws Exception {
+ mongoTemplate = new MongoTemplate(new MongoClient(mongo.getContainerIpAddress(), mongo.getFirstMappedPort()), "test");
+ }
+
+ @Test
+ public void contextLoads() {
+ HashMap map = new HashMap<>();
+ map.put("name", "Steve");
+ mongoTemplate.save(map, "someCollection");
+ }
+}