如何使用docker运行文件上载过程中的实际图像文件?

Recently I have developed an application running with docker in PHP including file upload process.

However, actual uploaded files to the server would have been lost when the container exits.

How did you deal with the matter? Please tell me how to make files persistent.

For example:

  • Using external server like S3 for storing files.
  • Utilizing Docker storage functions for volumes.

This can be done using docker compose. You will be able to access the files inside container by mounting them to external host directory. The files uploaded to wordpress are stored in wp-content/uploads and you can mount this using this sample docker-compose file:

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

The documentation regarding volumes should be able to help you.