php - 如何使实际图像文件在使用 docker 运行的文件上传过程中持久存在?

标签 php docker file-upload

最近我在 PHP 中开发了一个使用 docker 运行的应用程序,包括文件上传过程。

然而,当容器退出时,实际上传到服务器的文件将丢失。

你是怎么处理这件事的? 请告诉我如何使文件持久化。

例如:

  • 使用 S3 等外部服务器存储文件。
  • 为卷使用 Docker 存储功能。

最佳答案

这可以使用 docker compose 来完成。您将能够通过将它们安装到外部主机目录来访问容器内的文件。上传到 wordpress 的文件存储在 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

关于 volumes 的文档应该能帮到你。

关于php - 如何使实际图像文件在使用 docker 运行的文件上传过程中持久存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44771803/

相关文章:

php - 搜索脚本分页不起作用

php - 用于 Sendgrid API 的 php 的 curl -d 选项

database - http://hub.docker.com/使用什么解决方案?

php - var_dump($_FILES) result in blank ["type"] 对于特定的图像文件

php - 如何使用 PHP 和 MySQL 将父子(邻接)表转换为嵌套集?

php - Laravel 5.2 登录 session 不持久

docker - Poetry安装构建Docker镜像时抛出 "Connection pool is full, discarding connection: pypi.org. Connection pool size: 10"错误

docker - 在 docker 中标记图像

html - 当浏览器中没有闪烁时,Uploadify 会破坏文件上传

python-2.7 - 使用 python 更新谷歌驱动器上的文件