Я пытаюсь написать интеграционные тесты для моего приложения Java с использованием TestContainers (версия 1.20.6). Я работаю над Windows ( без Docker Desktop на Windows, я не могу его использовать ).
Я хочу проверить свой API, который подключен к API OpenSearch. Мне нужно в моем тесте, чтобы запустить новый экземпляр OpenSearch, заполнить данные и подключить мой API к этому новому экземпляру OpenSearch. init-index:
image: curlimages/curl:latest
depends_on:
opensearch:
condition: service_healthy
volumes:
- ./data/:/data/
- ./init-index.sh:/init-index.sh
entrypoint: [ "sh", "/init-index.sh" ]
< /code>
При запуске контейнера из WSL2 я не сталкиваюсь с проблемой, файлы копируются в контейнер, выполняется init-index.sh, и мой OpenSearch заполняется правильно. Проблема возникает, когда я стараюсь сделать тот же процесс, но при запуске своих тестовых контейнеров. (что настраивается так же, как и выше), есть данные, копируемые в качестве каталога вместо файлов. idx-geo-countries.json, которые представляют собой 2 файла в моем проекте/SRC/Test/Resources/Data Polder.
Обратите внимание, что для отладки я изменил точку входа, настроенную выше на: interpoint: [«sh», «-c», «Sh /init-index.sh && Sleep 300»]
, чтобы проверить, что это можно найти внутри. Мой проект находится в моей файловой системе Windows, я также использую IntelliJ из Windows.public class MyTest {
@Rule
public ComposeContainer composeContainer = new ComposeContainer(new File("src/test/resources/compose.yaml"))
.withExposedService("opensearch", 9200);
@Test
public void testing() {
//Putting a debug here to check what is going on in the containers
...
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... -as-folder
Docker on WSL2 -связки монтируемые файлы создаются в виде папки ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить доступ к Docker.sock и Containerd.sock от Docker Desktop WSL2?
Anonymous » » в форуме Linux - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-