小编har*_*ddy的帖子

java.lang.IllegalStateException:找不到有效的 Docker 环境。请查看日志并检查 M1 MAC 上的配置

我正在尝试在本地运行集成测试。我正在尝试拉取 mongo 3.6.0 映像,但出现以下错误。同样的事情也适用于非 m1 mac。

错误 org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$7 - UnixSocketClientProviderStrategy:失败,出现异常 RuntimeException (java.lang.UnsatisfiedLinkError: /private/var/folders/88/zxy8rm992j10d7_db5w5w2580000gq/T/jna--714400992/jna37482 87117789473831.tmp: dlopen (/private/var/folders/88/zxy8rm992j10d7_db5w5w2580000gq/T/jna--714400992/jna3748287117789473831.tmp,0x0001):尝试:'/private/var/folders/88/zxy8rm992j10d7_db5w5 w2580000gq/T/jna--714400992/jna3748287117789473831.tmp '(胖文件,但缺少兼容架构(有'i386,x86_64',需要'arm64e')),'/usr/lib/jna3748287117789473831.tmp'(没有这样的文件))。根本原因UnsatisfiedLinkError (/private/var/folders/88/zxy8rm992j10d7_db5w5w2580000gq/T/jna--714400992/jna3748287117789473831.tmp: dlopen(/private/var/folders/88/zxy8rm992j10d7_db 5w5w2580000gq/T/jna--714400992/jna3748287117789473831.tmp, 0x0001):尝试:'/private/var/folders/88/zxy8rm992j10d7_db5w5w2580000gq/T/jna--714400992/jna3748287117789473831.tmp'(胖文件,但缺少兼容的体系结构(有'i386,x86_64',需要'arm6) 4e')) ,'/usr/lib/jna3748287117789473831.tmp'(没有这样的文件))

无法获取 Docker 映像:RemoteDockerImage(imageName=mongo:3.6.0, imagePullPolicy=DefaultPullPolicy()) at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1278) at org.testcontainers.containers.GenericContainer.logger (GenericContainer.java:612) at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:317) ... 74 更多 原因:java.lang.IllegalStateException:之前查找 Docker 环境的尝试失败。不会重试。请查看日志并检查配置 org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:108) org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:134) org.testcontainers.DockerClientFactory.client(DockerClientFactory.java) :176)在org.testcontainers.LazyDockerClient.getDockerClient(LazyDockerClient.java:14)在org.testcontainers.LazyDockerClient.inspectImageCmd(LazyDockerClient.java:12)在org.testcontainers.images.LocalImagesCache.refreshCache(LocalImagesCache.java:42)在 org.testcontainers.images.AbstractImagePullPolicy.shouldPull(AbstractImagePullPolicy.java:24) 在 org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:66) 在 org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:27) )在 org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:17) 在 org.testcontainers.utility.LazyFuture.get(LazyFuture.java:39) 在 org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:第1276章)

我在我的 docker 文件中遵循非 root 用户配置

#非root用户配置 RUN addgroup -S -g 10001 appGrp
&& adduser -S -D -u 10000 -s /sbin/nologin -h /opt/app/ -G appGrp …

docker arm64 testcontainers docker-desktop apple-m1

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

apple-m1 ×1

arm64 ×1

docker ×1

docker-desktop ×1

testcontainers ×1