PHP 응용 프로그램을 고정하려고합니다. dockerfile에서 아카이브를 다운로드하고 추출하십시오.
새 버전이 출시되고 config.php가 덮어 쓰기 때문에 응용 프로그램을 다시 설치 해야하는 dockerfile을 업데이트하면 모든 것이 잘 작동합니다.
그래서 데이터베이스와 마찬가지로 파일을 볼륨으로 마운트 할 수 있다고 생각했습니다.
볼륨과 직접 경로를 사용하여 두 가지 방법으로 시도했습니다.
도커 작성 :
version: '2'
services:
app:
build: src
ports:
- "8080:80"
depends_on:
- mysql
volumes:
- app-conf:/var/www/html/upload
- app-conf:/var/www/html/config.php
environment:
DB_TYPE: mysql
DB_MANAGER: MysqlManager
mysql:
image: mysql:5.6
container_name: mysql
volumes:
- mysqldata:/var/lib/mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD:
MYSQL_DATABASE:
MYSQL_USER:
MYSQL_PASSWORD:
volumes:
mysqldata:
app-conf:
오류가 발생하는 원인은 다음과 같습니다.
그리고 주어진 경로로 마운트 된 볼륨으로 시도했습니다.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
그러나 두 가지 방법 모두 작동하지 않습니다. 마운트 된 볼륨으로 업로드가 생성되는 것을 볼 수 있습니다.
그러나 실패
/var/www/html/config.php \\ "는 \\"디렉토리가 아닙니다 \\ "\" "
내가 시도하면
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker는 업로드 폴더와 config.php 폴더를 만듭니다. 파일이 아닙니다.
또는 구성을 유지하는 다른 방법이 있습니까?