Php 如何使实际图像文件在docker运行的文件上载过程中持久化?
最近,我用PHP开发了一个运行docker的应用程序,包括文件上传过程 但是,当容器退出时,实际上载到服务器的文件将丢失 你是如何处理这件事的? 请告诉我如何使文件持久化 例如:Php 如何使实际图像文件在docker运行的文件上载过程中持久化?,php,docker,file-upload,Php,Docker,File Upload,最近,我用PHP开发了一个运行docker的应用程序,包括文件上传过程 但是,当容器退出时,实际上载到服务器的文件将丢失 你是如何处理这件事的? 请告诉我如何使文件持久化 例如: 使用S3等外部服务器存储文件 利用卷的Docker存储功能 这可以使用docker compose完成。您将能够通过将文件装载到外部主机目录来访问容器中的文件。上载到wordpress的文件存储在wp content/uploads中,您可以使用此示例docker compose文件装载此文件: version: '
- 使用S3等外部服务器存储文件李>
- 利用卷的Docker存储功能
wp content/uploads
中,您可以使用此示例docker compose文件装载此文件:
version: '3'
services:
mysql-database:
image: mysql
container_name: mysql-database
volumes:
- ./mysql/docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d
ports:
- 3306:3306
wordpress-sites:
image: wordpress:custom
build:
context: ./wordpress
dockerfile: wordpress.dockerfile
container_name: wordpress-sites
links:
- mysql-database
depends_on:
- mysql-database
ports:
- 8080:80
volumes:
- ./wordpress/wp-content:/var/www/html/wp-content
有关的文档应该能够帮助您 谢谢你的回答。我想学习许多人的各种想法,并使他们引导我的发展,但使用docker compose是使文件持久化的最流行的方法吗?还有其他方法吗?卷更多地用于持久化,但我没有在Dockerfile中使用它们,我只是在docker compose中使用它们,因此,答案是肯定的。您也可以以类似的方式使用Dockerfile中的卷来持久化数据卷,这些卷不是docker compose特有的。使用docker compose没有什么错,但使用docker compose来通过使用卷实现持久性肯定不是某种要求。您也可以直接使用
docker
CLI使用卷。