Tôi đang cố gắng cập bến một ứng dụng php. Trong dockerfile tôi tải xuống kho lưu trữ, giải nén nó, v.v.
Mọi thứ đều hoạt động tốt, tuy nhiên nếu một phiên bản mới được phát hành và tôi cập nhật dockerfile thì tôi phải cài đặt lại ứng dụng, vì config.php bị ghi đè.
Vì vậy, tôi nghĩ rằng tôi có thể gắn kết tệp như một ổ đĩa, giống như tôi làm với cơ sở dữ liệu.
Tôi đã thử nó theo hai cách, với âm lượng và đường dẫn trực tiếp.
docker-soạn:
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:
Kết quả là lỗi:
Và tôi đã thử nó với một đường dẫn nhất định, như một khối lượng được gắn kết.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Tuy nhiên cả hai cách đều không hiệu quả. Với âm lượng được gắn, tôi thấy rằng tải lên được tạo.
Nhưng rồi thất bại với
/var/www/html/config.php \\ "gây ra \" không phải là thư mục \\ "\" "
Nếu tôi thử nó với
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker tạo thư mục tải lên và sau đó là thư mục config.php. Không phải là một tập tin.
Hoặc có một cách khác để duy trì cấu hình?