Dockerfile - problem z testcontainers

0

Cześć, w apce, z której chcemy zbudować obraz dockerowy używamy testcontainers. Podczas odpalenia taska gradlowego build w Dockerfile wysypują mi się testy. Dostaję taki error:

org.spockframework.util.InternalSpockError at PlatformSpecRunner.java:80
        Caused by: java.lang.ExceptionInInitializerError at NativeConstructorAccessorImpl.java:-2
             Caused by: org.testcontainers.containers.ContainerFetchException at GenericContainer.java:1326
                 Caused by: java.lang.IllegalStateException at DockerClientProviderStrategy.java:156

Mój Dockerfile:

FROM openjdk:17-oracle as build
COPY . /usr/app/
WORKDIR /usr/app/
RUN chmod +x gradlew && ./gradlew clean build

FROM openjdk:17-oracle
ARG JAR_FILE=usr/app/build/libs/*.jar
COPY --from=build ${JAR_FILE} ./app.jar
ENTRYPOINT ["java", "-jar", "./app.jar"]

Ktoś ma pomysł jak do tego podejść?

0
  1. Wrzuć logi, nie tylko stack trace.
  2. Pokaż gdzie i jak ten dockerfile jest używany.
  3. Gdzie jest docker host? Chyba nie lokalnie, bo to sugeruje, że łączycie się po tcp. Na pewno docker jest dostępny podczas budowania?
0

1.) https://pastebin.com/XFqby9L2
2.) Job w github workflow:

jobs:
  build:
   runs-on: ubuntu-latest
   steps
     - name: 'Build and push image'
       uses: azure/docker-login@v1
       with:
         login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
         username: ${{ secrets.REGISTRY_USERNAME }}
         password: ${{ secrets.REGISTRY_PASSWORD }}
     - run: |
        docker build . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/${{ inputs.IMAGE_NAME }}:${{ inputs.IMAGE_TAG }}
        docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/${{ inputs.IMAGE_NAME }}:${{ inputs.IMAGE_TAG }}

3.) Wg. tego powinien być dostępny

1 użytkowników online, w tym zalogowanych: 0, gości: 1