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

如何离线本地构建Docker容器?使用--pull never仍报错

无网络环境下Docker Compose构建仍连远程仓库的解决办法

问题根源

docker compose up --pull never 只控制compose配置中直接指定的服务镜像(即image:字段定义的镜像),但构建自定义镜像时,Docker引擎默认会尝试校验基础镜像的远程元数据——哪怕本地已经存有该基础镜像,无网络环境下就会触发DNS解析失败的错误。

解决步骤

  • 提前拉取基础镜像到本地
    在有网络时,预先拉取Dockerfile中用到的基础镜像:

    docker pull eclipse-temurin:21.0.4_7-jre-ubi9-minimal
    
  • 修改docker-compose.yml限制构建行为
    在需要构建的服务的build配置块中添加pull_policy: never,强制Docker构建时仅使用本地镜像,不发起远程请求:

    services:
      # 替换为你的实际服务名称
      app-service:
        build:
          context: .
          dockerfile: Dockerfile
          pull_policy: never  # 关键配置:禁用构建阶段拉取基础镜像
        # 其他服务配置项...
    
  • 重新执行构建命令
    运行你原本的命令即可:

    docker compose up -d --build --pull never
    

修改完成后,Docker构建自定义镜像时会直接调用本地已有的基础镜像,不再尝试连接远程仓库,无网络环境下也能正常完成构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:23:15