Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Windows环境中GitHub操作上的Testcontainers:";找不到有效的Docker环境。请查看日志并检查配置“;_Java_Windows_Maven_Github Actions_Testcontainers - Fatal编程技术网

Java Windows环境中GitHub操作上的Testcontainers:";找不到有效的Docker环境。请查看日志并检查配置“;

Java Windows环境中GitHub操作上的Testcontainers:";找不到有效的Docker环境。请查看日志并检查配置“;,java,windows,maven,github-actions,testcontainers,Java,Windows,Maven,Github Actions,Testcontainers,我们在项目中大量使用。由于我们还希望能够在Windows上运行我们的Maven构建,因此我们使用矩阵策略构建()将Windows最新版本环境添加到GitHub操作管道中,如下所示: name: build on: push: jobs: build: strategy: matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps:

我们在项目中大量使用。由于我们还希望能够在Windows上运行我们的Maven构建,因此我们使用矩阵策略构建()将
Windows最新版本
环境添加到GitHub操作管道中,如下所示:

name: build

on:
  push:

jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]

    runs-on: ${{ matrix.os }}
    steps:

      - uses: actions/checkout@v2

      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8

      - name: Build with Maven
        run: |
          mvn -B install --no-transfer-progress
现在,我们的Testcontainers JUnit测试用例失败(请参阅):

[INFO]运行de.codecentric.boot.admin.server.eventstore.HazelcastEventStoreWithClientConfigTest

错误:测试运行:1,失败:0,错误:1,跳过:0,经过的时间:0.877 s问题是在Windows Server中,默认情况下只有激活的Windows容器(没有Linux容器):

windows最新版本的问题在于它使用的是windows容器,而不是Linux容器。这意味着Testcontainers本身可以工作,但它启动的所有映像都是基于Linux的,在Windows容器模式下,它们显然无法启动:)

对此的“修复”是启用Linux容器的GitHub操作环境!但在谷歌搜索之后,这似乎并不那么容易。首先,我认为只需要启用LCOW(Windows上的Linux容器)。但正如所述,在GitHub操作Windows环境上激活LCOW并不容易(甚至不可能)


我深入研究了这个问题,发现问题在于Windows Server中只有默认激活的Windows容器(没有Linux容器):

windows最新版本的问题在于它使用的是windows容器,而不是Linux容器。这意味着Testcontainers本身可以工作,但它启动的所有映像都是基于Linux的,在Windows容器模式下,它们显然无法启动:)

对此的“修复”是启用Linux容器的GitHub操作环境!但在谷歌搜索之后,这似乎并不那么容易。首先,我认为只需要启用LCOW(Windows上的Linux容器)。但正如所述,在GitHub操作Windows环境上激活LCOW并不容易(甚至不可能)

我深入研究这个问题,发现
[INFO] Running de.codecentric.boot.admin.server.eventstore.HazelcastEventStoreWithClientConfigTest
Error:  Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.877 s <<< FAILURE! - in de.codecentric.boot.admin.server.eventstore.HazelcastEventStoreWithClientConfigTest
Error:  de.codecentric.boot.admin.server.eventstore.HazelcastEventStoreWithClientConfigTest  Time elapsed: 0.877 s  <<< ERROR!
java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration