3) native use of VM tools, e.g.
vagrant ssh -c command or
docker exec ....
Docker allegedly can do it too, but I suspect you probably need to have the right edition of Windows
Docker adds too much of a file system penalty to be useable on Windows for me 😞
It's possible to comment lines in
app/_config/somefile.yml config files, right? I've got some config stuff that's all commented out, though the site behaves likes it's still processing the commented code. Cache is flushed and db rebuilt. Even trying in a fresh docker container sees the same result.
Been using SiteHost containers for our NZ small clients, create unique docker containers per domain, let’s encrypt built in and everything just works. They’ve configured PHP to work with SilverStripe out of the box. They handle all the security and all of that while you get everything you need logs / ssh https://sitehost.nz/hosting/cloud-containers.
@Kristian yeah too many projects that just run on my machine with different PHP-Versions last time I checked vagrant it was to slow event with NFS-shares I like the idea of docker but looks a bit complicated. Altough it's some time ago when I checked it
yeah on linux docker is near-native performance. in windows its spinning up a VM in the background so performance isn't as good. and in mac it should be similar to linux but for some reason they have issue with high latency on file reads, which in SS is problematic (due to a billion cache files that get read every load)
I use a persistent database server and spin up docker containers for the web instances as I need them. The dev files are all on my local machine under git control. Means I can have any site I'm working on running with a single command, or add a new one just as easily.
I have a similar set up for some testing I did which is the following. It names the sql volume as
ss-mysql-storage and is stored in
/var/lib/docker/volumes which can be viewed, deleted etc via docker commands. Note also it creates a db schema of 'silverstripe-test' if it doesn't exist and sets the root password to... 'password'.