나는 독에 매우 익숙하며, 볼륨의 일부 개념은 나에게 상당히 혼란 스럽다.볼륨에 하나의 파일을 마운트하는 방법
내가하려는 것은 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
그러나 두 가지 방법 모두 작동하지 않습니다. 마운트 된 볼륨으로 업로드가 생성되는 것을 볼 수 있습니다.
하지만 디렉토리가 아닌 \\ "\"는 "
내가 /의 SRC와 함께하려고하면"\\ 발생 "
/var/www/html/config.php \\ 실패/고정 표시기/MyApp를/업로드/config.php를 :..
도커는 업로드 폴더와 config.php를 폴더 안 파일
를 만들거나 다른 방법이 /var/www/html/config.php 설정을 완료 하시겠습니까?
나는 /src/docker/myapp/upload/config.php:/var/www/html/config.php 도커 후 업로드 폴더와 config.php에 폴더를 생성하려고하면 말했듯이. 파일이 아닙니다. –
귀하의 게시물에 당신이 다르게 썼습니다. 파일이 있으면 파일로 마운트해야합니다. – BlackStork
https://docs.docker.com/engine/tutorials/dockervolumes/#/mount-a-host-file-as-a-data-volume <- 단호하게 작동해야합니다. – BlackStork