问题:容器内的 php composer 丢失了供应商目录

我有以下 Dockerfile

FROM        bitgandtter/sf:php7

# basic env fix
ENV         TERM xterm

# install packages
ADD         .   /var/www

# update dependencies
RUN         cd Helpers && SYMFONY_ENV=prod composer update -o --no-dev

ENV         SYMFONY_ENV prod

构建映像后,Helpers 目录不包含供应商目录。

我真的不知道为什么,因为之前的作曲家更新刚刚成功执行并且图像创建得很好。

请提供任何帮助

注意:图像 bitgandtter/sf:php7 在 /var/www 上使用 VOLUME 声明

解答

事实上,我发现基本图像上的 VOLUME 声明是主要问题。

正如在官方文档中解释的那样,在 dockerfile 上定义一个 VOLUME 后,如果该卷内发生任何文件更改,则该卷将丢失。

所以解决方案是不在基础镜像上声明 VOLUMES。

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐