簡體   English   中英

Docker Binding 使用 testcontainers 解析異常

[英]Docker Binding parse exception with testcontainers

我想運行一些集成測試,其中包括使用 org.testcontainers Docker Compose 模塊設置完整的環境。 我是 Windows 和 Docker 測試的新手,測試容器也是如此。

使用版本:

  • Docker 桌面社區:2.5.0.0
  • org.testcontainers:testcontainers:1.15.0
  • org.springframework.boot 2.3.4。

我的代碼如下所示:

@ClassRule
public static DockerComposeContainer environment = new DockerComposeContainer(
                    new File("C:\\dev\\myproject\\myapp\\docker-compose\\docker-compose.env.yml"),
                    new File("C:\\dev\\myproject\\myapp\\docker-compose\\docker-compose.yml"))
                    .withExposedService("myservice_1", 9999)
                    .withLocalCompose(true);

我的撰寫文件看起來像這樣。

services:
  myservice:
    image: myapp/myservice:latest
    hostname: myservice
    volumes:
    - ../volumeDir:/app/volumeDir
    - ../config:/app/config
    expose:
    - 9999
    ports:
    - 9999:9999
    command: -Dspring.liquibase.enabled=true
    networks:
    - internet

它看起來像一些綁定錯誤,堆棧跟蹤中最重要的部分:

>     java.lang.RuntimeException: java.lang.RuntimeException: org.testcontainers.shaded.com.fasterxml.jackson.databind.exc.ValueInstantiationException:
> Cannot construct instance of `com.github.dockerjava.api.model.Binds`,
> problem: Error parsing Bind
> 'C:\dev\myproject\myapp\volumeDir:/app/volumeDir:rw'
>      at [Source: (org.testcontainers.shaded.okio.RealBufferedSource$1); line: 1,
> column: 1369] (through reference chain:
> com.github.dockerjava.api.command.InspectContainerResponse["HostConfig"]->com.github.dockerjava.api.model.HostConfig["Binds"])
>       at org.rnorth.ducttape.timeouts.Timeouts.callFuture(Timeouts.java:68)
>       at org.rnorth.ducttape.timeouts.Timeouts.doWithTimeout(Timeouts.java:60)
>       at org.testcontainers.containers.wait.strategy.WaitAllStrategy.waitUntilReady(WaitAllStrategy.java:53)
>     ...

我試圖將路徑更改為絕對路徑,沒有任何區別。 你有什么想法可以使這個綁定無法解析嗎?

此錯誤是由於 Testcontainers 和最近的 Docker for Windows 版本的當前問題造成的。 他們已經意識到這一點,並且修復似乎接近於合並

更新:現在可以使用1.15.1版修復此錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM