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

Docker构建上下文外:如何将主机php_7文件夹复制到容器?

解决Docker复制主机php_7文件夹到容器的问题

问题根源

你的docker-compose.yml中指定的构建上下文(context)是.docker/php/php7,Docker构建镜像时只能访问上下文目录及其子目录内的文件,无法访问上下文之外的父级目录内容。所以你在Dockerfile中用相对路径向上查找php_7文件夹时,会因为超出上下文范围而找不到文件。

正确解决方案

方法一:修改构建上下文到项目根目录(推荐)

  1. 更新docker-compose.yml中php7服务的build配置,将上下文改为项目根目录,并指定Dockerfile的完整路径:
php7:
  build:
    context: .  # 项目根目录作为构建上下文
    dockerfile: .docker/php/php7/Dockerfile  # 指定Dockerfile的位置
  1. 修改Dockerfile中的COPY指令,直接从上下文根目录复制php_7:
COPY php_7 /var/www/html
  1. 重新构建容器:
docker-compose down && docker-compose up -d --build

方法二(不推荐):复制文件到上下文目录

如果你坚持使用原上下文,可以先将主机的php_7文件夹复制到.docker/php/php7目录下,再在Dockerfile中使用COPY php_7 /var/www/html。但这种方法需要手动同步文件,维护成本高,不建议使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:15:08