如何在 Docker 容器内运行基于
我有一个简单的 Spring Boot 应用程序,具有与容器交互的集成测试(组件级别),使用
我们正在容器中运行所有内容,并且构建正在运行 docker jenkins 图像上。Docker 文件创建 jar,然后创建镜像。
在进行构建时,我遇到了以下错误:
以下参考资料并没有帮助我。 https://www.testcontainers.org/supported_docker_environment/continuous_integration/dind_patterns/
@Testcontainers
的测试用例?我有一个简单的 Spring Boot 应用程序,具有与容器交互的集成测试(组件级别),使用
Testcontainers
。从容器外部(本地机器)运行测试用例时一切正常。我们正在容器中运行所有内容,并且构建正在运行 docker jenkins 图像上。Docker 文件创建 jar,然后创建镜像。
@Testcontainers
无法找到已安装的 Docker。
以下是我的 Docker 文件。FROM maven:3.6-jdk-11-openj9
VOLUME ["/var/run/docker.sock"]
RUN apt-get update
RUN apt-get -y install docker.io
COPY . /usr/src/app
WORKDIR /usr/src/app
RUN mvn -Dmaven.repo.local=/root/m2 --batch-mode -f pom.xml clean package
EXPOSE 8080
CMD ["/bin/bash"]
在进行构建时,我遇到了以下错误:
org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy - 使用环境变量、系统属性和默认值配置失败。由于 org.rnorth.ducttape.TimeoutException: Timeout waiting for result with exception,因此确定 dockerHost=unix:///var/run/docker.sock。
最好的解决方法是什么?我想在 mvn 构建阶段使用 Dockerfile 运行组件级别的集成测试。以下参考资料并没有帮助我。 https://www.testcontainers.org/supported_docker_environment/continuous_integration/dind_patterns/