I've always just fired up a VM if I've wanted isolation.
I used docker once, to run a few lines of python that someone had packaged as a docker container, and it ended up eating all 5GB of spare space on my AWS instance and I never bothered to figure out why.
Anyway, what you describe sounds good. Especially for CI and deployment.
Not sure how well it would work for local development. Would you include the container config in your repo, and rebuild the container every time you pull from master?
The config is normally under source control. You could snapshot the container at the end of the build and discard it if the config changes. Not sure how you actually do this, I was too busy writing code when Docker became a thing here.
I've always just fired up a VM if I've wanted isolation.
I used docker once, to run a few lines of python that someone had packaged as a docker container, and it ended up eating all 5GB of spare space on my AWS instance and I never bothered to figure out why.
Anyway, what you describe sounds good. Especially for CI and deployment.
Not sure how well it would work for local development. Would you include the container config in your repo, and rebuild the container every time you pull from master?