I’m testing an application that will use a read-only Microsoft SQL Server database. I have SQL Server Express running inside FLY and it works well. I can include the database files in the Docker image and attach them when the server starts. They are read-only so I don’t care about keeping any changes.
My test files are small (8 MB) but the real databases will be 2 GB and 500 MB. Based on some other comments in the forums, that seems larger than what FLY is looking for.
- Will a Docker image that is 1.5 GB of SQL Server plus 2.5 GB of databases cause problems?
- Is it better to use a volume?
- If I do use a volume, how do I upload these files? This is the question that had me testing the database files in Docker.
Deploy a test instance and find out? I think, 4GB images are fine: Fly Machines API - Create Machine from Private Container Registry - #4 by ignoramous
As for us, we do bake-in some ~100MB files in the docker image itself: Registry @ registry.fly.io, is there cost to this? - #2 by ignoramous
Not in this case, really.
Every Fly app instance comes with a built-in ephemeral disk space 8GB in size. You can opt to either sftp the db files to those VMs one by one, or download them (from S3 / R2) when the app process is run for the first-time and/or the db files at an expected location (somewhere in
/ (root dir)) are missing.
Thank you! I tested a 4 GB image, and it worked just fine. I should be able to shrink that down some when I do it for real.