我正在尝试为我的 PHP Web 应用程序(php-fcm)设置两个由 NGINX 反向代理的 Docker 映像。理想情况下,我希望将 Web 应用程序的所有文件复制到基于 php-fcm 的图像中并作为一个卷公开。这样,两个容器(Web 和应用程序)都可以使用 NGINX 访问文件,为静态文件提供服务,而 php-fcm 解释 php 文件。
码头工人-compose.yml
version: '2'
services:
web:
image: nginx:latest
depends_on:
- app
volumes:
- ./site.conf:/etc/nginx/conf.d/default.conf
volumes_from:
- app
links:
- app
app:
build: .
volumes:
- /app
Dockerfile:
FROM php:fpm
COPY . /app
WORKDIR /app
上述设置按预期工作。但是,当我对文件进行任何更改然后执行
compose up --build
新文件不会出现在生成的图像中。尽管有以下消息表明该映像确实正在重建:
Building app
Step 1 : FROM php:fpm
---> cb4faea80358
Step 2 : COPY . /app
---> Using cache
---> 660ab4731bec
Step 3 : WORKDIR /app
---> Using cache
---> d5b2e4fa97f2
Successfully built d5b2e4fa97f2
只有删除所有旧图像才能解决问题。
知道是什么原因造成的吗?
$ docker --version
Docker version 1.11.2, build b9f10c9
$ docker-compose --version
docker-compose version 1.7.1, build 0a9ab35