You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建OSM转MATSim的Docker镜像时遇java:8镜像找不到错误求助

问题:构建OSM转MATSim Docker镜像时镜像拉取失败

错误信息

[+] Building 3.2s (4/4) FINISHED
 => [internal] load build definition from Dockerfile                    0.1s
 => => transferring dockerfile: 263B                                    0.0s 
 => [internal] load .dockerignore                                       0.1s 
 => => transferring context: 2B                                         0.0s 
 => ERROR [internal] load metadata for docker.io/library/java:8         2.9s
 => [auth] library/java:pull token for registry-1.docker.io             0.0s
------
 > [internal] load metadata for docker.io/library/java:8:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: docker.io/library/java:8: not found

原Dockerfile内容

FROM java:8
RUN mkdir /osm2matsim
WORKDIR /osm2matsim

COPY . . 
RUN javac -cp vendor/matsim-0.9.0/matsim-0.9.0.jar Osm2matsim.java

ENTRYPOINT ["java", "-cp", "vendor/matsim-0.9.0/matsim-0.9.0.jar:.", "Osm2matsim"]

解决方案

  • 替换废弃的基础镜像:java:8是Docker Hub上旧的官方Java镜像,现已被移除归档,无法拉取。改用官方维护的OpenJDK镜像,推荐两个选项:

    • openjdk:8-jdk-alpine:轻量Alpine版本,镜像体积小,适合生产环境
    • eclipse-temurin:8-jdk:Adoptium维护的标准JDK,兼容性更强
  • 修改后的Dockerfile示例(以openjdk:8-jdk-alpine为例):

FROM openjdk:8-jdk-alpine
RUN mkdir /osm2matsim
WORKDIR /osm2matsim

COPY . . 
RUN javac -cp vendor/matsim-0.9.0/matsim-0.9.0.jar Osm2matsim.java

ENTRYPOINT ["java", "-cp", "vendor/matsim-0.9.0/matsim-0.9.0.jar:.", "Osm2matsim"]
  • 重新构建镜像:执行修正后的构建命令(原命令末尾多了一个冗余的.,已去掉):
docker build . -t osm-to-matsim

内容的提问来源于stack exchange,提问作者Nimashi Uthpala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:40:15