So most of the time when people get this issue, it’s one of the following scenario:
You are running docker with development and using sqlite. To fix this make sure you are running it with production and not development Also make sure your config folder has two settings, 1 for development 1 for production.
The important thing here is, if you are using sqlite in development, when you restart the container the sqlite is deleted and recreated. Meaning you loose the data.
The data should not just delete itself.
When it comes to images not saving, it’s kind of the same scenario, but you need to bind-mount the public folder on the server so you have persistent storage. It’s recommended when using docker to not use bind mounts, rather use a upload service like cloudinary, S3 etc. to store your uploads.