PHPアプリケーションをドッキングしようとしています。dockerfileでアーカイブをダウンロードし、解凍します。
すべてが正常に動作しますが、新しいバージョンがリリースされ、dockerfileを更新した場合、config.phpが上書きされるため、アプリケーションを再インストールする必要があります。
データベースと同じように、ファイルをボリュームとしてマウントできると思いました。
ボリュームとダイレクトパスの2つの方法で試してみました。
docker-compose:
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フォルダーを作成します。ファイルではありません。
または、構成を永続化する別の方法はありますか?