Well S3 is actually pretty fast, and DO spaces should be as well. So that might be an application performance issue.
Anyway, in general when using containers data storage is pretty hard. However using a online service like S3 makes this easy again.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I've got a Docker based project built with Laravel.
The project is setup in Gitlab and I use Jenkins for CI/CD.
When I merge into the master branch, a new build is triggered in Jenkins. I clone the repo, run Unit tests etc etc.
Once completed, I build a new Docker image with the latest codebase inside and push this image up to the Docker registry.
My jenkinsfile then calls a script on the production server that pulls down the latest docker image and stops / starts the running container.
I setup a Nginx proxy/Load balancer so users do not see any down time during the starting and stopping of containers.
This workflow works very well but I have one issue:
The storage folder in Laravel gets wiped when I do a new deployment, so any files uploaded by users are lost.
How do I overcome this?
I've recently started working on a new version of the project that sends all file uploads to Digital Ocean Spaces but I've found this to be very very slow.
I'm assuming S3 will be the same.
All suggestions are welcome.
Please or to participate in this conversation.