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

如何在另一个Dockerfile中复制已构建Docker镜像内的文件?

问题解答:从Docker镜像复制文件到另一个镜像

可以实现从已构建的镜像中复制文件到另一个Docker镜像里,具体操作如下:

1. 先构建存储代码的基础镜像

假设你把提供的Dockerfile命名为Dockerfile.base,执行以下命令构建并给镜像打标签:

docker build -t my-base-code -f Dockerfile.base .

(my-base-code是自定义镜像标签,方便后续引用,可根据需求修改)

2. 在新Dockerfile中复制目标镜像的文件

推荐使用Docker的多阶段构建,灵活且高效;也可以直接从现有镜像复制,两种方法如下:

方法一:多阶段构建(推荐)

在新的Dockerfile中,先引入存储代码的基础镜像作为临时源,再将文件复制到最终业务镜像:

# 第一阶段:引入存储代码的基础镜像作为源
FROM my-base-code as code-source

# 第二阶段:构建你的业务镜像(可替换为任意你需要的基础镜像,比如python:3.11-alpine)
FROM ubuntu:latest

# 设置工作目录
WORKDIR /app

# 从code-source阶段复制文件到当前镜像
COPY --from=code-source /app/ /app/

# 后续可添加业务相关命令,比如安装依赖、启动服务等

方法二:直接从现有镜像复制(适合简单场景)

无需多阶段,直接在新Dockerfile中通过镜像标签指定源:

FROM ubuntu:latest

WORKDIR /app

# 直接从已构建的my-base-code镜像复制文件
COPY --from=my-base-code /app/ /app/

注意事项

  • 确保my-base-code镜像已在本地构建完成,或可通过镜像仓库拉取到
  • 若只需复制部分文件,将/app/替换为具体路径即可,比如/app/src/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:57:03