Tô usando o docker-compoder.yml, ja rodei o docker compose up, não tenho tanta noção em Docker, tô mais pelo aprendizado mesmo, quando vou codar eu executo docker compose start, a dúvida é se posso perder os arquivos for subir isso pra produção, obrigado por responder amigo.

Enquanto o container não for excluído, você não perderá nada. O ideal para produção seria armazenar os arquivos em um serviço de armazenamento de terceiros, como amazon s3, e salvar o link do seu banco de dados. Armazenamento é muito caro para se ter em um servidor próprio.


Dica para área de dev local:

É comum no desenvolvimento os armazenamentos serem compartilhados atravéz de um mapeamento no volume, isso faz com que você utilize seu hd físico dentro do container. Documentaçõa oficial explica melhor que eu.

volumes:
  - ./diretorio_local/:/diretorio_app/

O motivo disso é que em um ambiente de desenvolvimento é comum ocorrer mudanças constantes até "acertar" a melhor arquitetura para a realidade. Com essa configuração não precisamos nos preocupar de perder arquivos, pois o diretório real se encontra no HD físico.

No meu caso, o container do servidor web (nginx) também tem um mapeamento do meu diretório público do projeto e eu direciono as coletas de arquivos para ele.

Container app (php-fpm):

volumes:
  - ./:/app
  - ./infra/docker/php/dev.ini:/usr/etc/php/conf.d/dev.ini

Container nginx:

volumes:
  - ./infra/docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
  - ./public/:/app/public

Config nginx:

// imagens
location ~ ^/(images|media|static)/  {
    root   /app/public/;
}

//PHP
location ~ \.php$ {
    fastcgi_pass nome_do_container_app:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Qualquer dúvida estou a disposição, espero que isso ajude um pouco.