NGINXによってプロキシされたPHP Webアプリケーション(php-fcm)用の2つのDockerイメージを設定しようとしています。理想的には、私は、Webアプリケーションのすべてのファイルをphp-fcmベースのイメージにコピーし、ボリュームとして公開したいと考えています。このようにして、両方のコンテナ(webとapp)は静的ファイルを処理するNGINXとphpファイルを解釈するphp-fcmでファイルにアクセスできます。再構築後にDockerイメージにファイルの変更が反映されない
ドッキングウィンドウ-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
ありがとう、これは確かに根本的な原因です。私は最終的に2つの部分(静的とアプリ)でデータを分割し、それぞれの画像にコピーすることに決めました。これは後の段階で、いずれにしても両方のサーバーで両方を実行したいという意味になります。 – chrisvdb