4 ms·
For the longest time I thought the standard was to install stuff on Docker as root and not worry about typical permission/user idioms you'd practice on a classi
by luxurytent 6y ago
For the longest time I thought the standard was to install stuff on Docker as root and not worry about typical permission/user idioms you'd practice on a classic box.
But now I am seeing more of this. Do you have any good links to read more about why using venv/non-root makes sense for Docker?
- ericol 6y agoIn my case, I think Docker voids the need for virtualenv. But a quick google search returns interesting results [1] I do know setting up a proper user in Docker is just a couple lines away in a Dockerfile (As a matter of fact, I did that for the main app I develop). For my other use cases, I just don't care. I'm using Docker to quickly bootstrap a Jupyter Labs environment, and I do that by sharing some confs (Like the Pip cache folder). The caveat to this is that files I create are owned by root, but that again is just a command away for fixing (If I need it, that haven't yet). [1] https://stackoverflow.com/questions/27017715/does-virtualenv-serve-a-purpose-in-production-when-using-docker https://stackoverflow.com/questions/27017715/does-virtualenv...
- BiteCode_dev 6y agoDon't have a link at hand, but main reasons out of my head: - exploits for breaking out of the container are easier to pull off if you have root access - if the image has a system python, installing with sudo will install things in the system site-packages directory, which can cause a lot of troubles