NGINX가 프록시 한 PHP 웹 응용 프로그램 (php-fcm)에 대한 두 개의 Docker 이미지를 설정하려고합니다. 이상적으로는 웹 응용 프로그램의 모든 파일을 php-fcm 기반 이미지로 복사하고 볼륨으로 표시하는 것이 좋습니다. 이 방법으로 두 컨테이너 (웹 및 응용 프로그램)는 정적 파일을 제공하는 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
위의 설정이 작동합니다. 그러나 파일을 변경 한 다음 수행 할 때
결과 파일에서 새 파일이 선택되지 않습니다. 이는 실제로 이미지가 다시 빌드되고 있음을 나타내는 다음 메시지에도 불구하고 나타납니다.
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
감사합니다. 실제로 이것이 근본 원인입니다.나는 결국 두 부분 (정적 및 응용)에서 데이터를 분리하고 각각의 이미지에서 복사하기로 결정했습니다. 어쨌든 나중에 다른 서버에서 두 서버를 모두 실행하려는 경우가 있습니다. – chrisvdb