Java 是否可以在Docker ComposeContainer的Docker compose文件中使用本地Docker映像?
在我的docker-compose.yaml文件中,我使用图像“我的服务”(以及其他工作正常的远程图像) 通常,我使用io.fabric8 docker maven插件与maven一起构建“我的服务”映像 我的Dockerfile:Java 是否可以在Docker ComposeContainer的Docker compose文件中使用本地Docker映像?,java,maven,docker,docker-compose,testcontainers,Java,Maven,Docker,Docker Compose,Testcontainers,在我的docker-compose.yaml文件中,我使用图像“我的服务”(以及其他工作正常的远程图像) 通常,我使用io.fabric8 docker maven插件与maven一起构建“我的服务”映像 我的Dockerfile: FROM vertx/vertx3-alpine ENV VERTICLE_HOME /opt/lib ENV NAME my-service ENV EXEC_JAR_NAME my-service.jar COPY target/my-service-1.0-S
FROM vertx/vertx3-alpine
ENV VERTICLE_HOME /opt/lib
ENV NAME my-service
ENV EXEC_JAR_NAME my-service.jar
COPY target/my-service-1.0-SNAPSHOT.jar $VERTICLE_HOME/$EXEC_JAR_NAME
COPY target/lib $VERTICLE_HOME
COPY src/main/resources/settings.json /etc/company/myservice/settings.json
ENTRYPOINT ["sh", "-c"]
CMD ["java -cp $VERTICLE_HOME/$EXEC_JAR_NAME com.company.myservice.MyVerticle"]
有没有办法使用Testcontainers for docker compose中的DockerComposeContainer来使用我的本地服务映像
这是我的测试设置
public class MyServiceIT {
@ClassRule
public static DockerComposeContainer compose =
new DockerComposeContainer(new File("src/test/resources/docker-compose.yml"));
目前我收到以下错误消息,因为它正在使用本地图像
7:15:34.282[tc-okhttp-stream-454305524]INFO这不是一条错误消息,但如果docker compose pull
失败,只是一条警告,请参阅
您还可以让Docker Compose为您构建图像(尽管强烈建议在这种情况下使用和LocalCompose(true)
)这不是错误消息,但如果Docker Compose pull
失败,只是一个警告,请参阅
您还可以让Docker Compose为您构建图像(尽管强烈建议使用和LocalCompose(true)
在这种情况下)谢谢!你让我意识到我的容器实际上是正确的。我只是期待更多的日志。在测试运行时,我可以通过docker ps
找到并进入我的容器,以找到容器ID,然后docker exec-it bash
。在命令行中运行docker compose up
时,是否有一种方法可以获得更多的输出?我试着使用和tailchildcontainers(true)
但是这似乎没有改变任何事情。给我指出了正确的方向。虽然使用DockerComposeContainer时,您似乎将与logconsumer(servicename,logconsumer)
一起使用,而不是followOutpu(logconsumer)
谢谢!你让我意识到我的容器实际上是正确的。我只是期待更多的日志。在测试运行时,我可以通过docker ps
找到并进入我的容器,以找到容器ID,然后docker exec-it bash
。在命令行中运行docker compose up
时,是否有一种方法可以获得更多的输出?我试着使用和tailchildcontainers(true)
但是这似乎没有改变任何事情。给我指出了正确的方向。虽然使用DockerComposeContainer时,您似乎将与logconsumer(servicename,logconsumer)
一起使用,而不是followOutpu(logconsumer)
public class MyServiceIT {
@ClassRule
public static DockerComposeContainer compose =
new DockerComposeContainer(new File("src/test/resources/docker-compose.yml"));