-
Notifications
You must be signed in to change notification settings - Fork 5.9k
sudo in Dockerfile? #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I agree with @sr229 the container should not be launching commands as sudo all the time. |
@incizzle appreciate the input but could you elaborate on your reasoning why? |
I think @sr229 summed it up pretty well. I personally don't see running every command as sudo in this environment as a bad thing, but it doesn't instill good security practices & habits when this is transferred to other places. |
This is how I see we're teaching people bad practices. They don't know linux, and they're learning via guides. If they decide to use Linux outside of Coder they won't know the concept behind We in turn, teach them how security usually works in Linux for beginners, and we give a sense of familiarity for other users. You don't see GCP giving you away a VM with a root account because you're expected to know about |
Docker best-practices (“USER” section) describes how to do this. As a side effect, running code-server as root will result in that the newly created files become owned by root, so soon enough user will end up with a project that cannot be modified from their regular user. To solve the permission issues, it is recommended to create a regular user and remap host UID & GID |
I'm willing to reimplement the Dockerfile in the repo by basing off from my already existing image, should I get enough consensus that we should do usermode in this Dockerfile. |
I think this ^^ is the best idea at the moment. May want to wait for a code owner to give their opinions. |
The design issue here is, that you should not make any modifications to the docker container after it started up. That said, adding a |
@PhilsLab, In order to have a separate container for each dev environment, it would require a lot of recoding of the actual VS code online program. It sounds likes its gonna be very hard to implement but it is a cool idea. |
Theia did support this kind of work (Remember Eclipse Che 7?), however, this would require substantial backend re-engineering which would increase the amount of difficulty per new VSCode release since it might not be interopable with each other |
You could just mount the projects and data-dir into your docker container on each start. Then you start where you were in a completely new environment. |
Implementing it as per #183. |
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user
This is interesting, though I'm not sure if its applicable to us or whether the advice is about
This is definitely a big issue. I think this alone is enough to justify the use of a user account. We definitely do not want all files written as root but instead whatever user the dev is using. |
Btw guys, container per terminal is being tracked at #190 |
@nhooyr From what I have done with user-mode containers, this might increase the image size, but I might be wrong. |
Thats fine. Though, as I mentioned earlier, this issue has not yet been discussed by the team and we're not sure of its direction. Please keep in mind your changes may not be accepted.
Already fixed. See #188 |
As an FYI: from what I've seen CentOS / Fedora based systems require Docker to be run as root. https://www.projectatomic.io/blog/2015/08/why-we-dont-let-non-root-users-run-docker-in-centos-fedora-or-rhel/ -- is a good read |
That is interesting but I believe orthogonal to our discussion. We're discussing whether the processes inside the container should run as root. |
My bad, misunderstood. |
See #57 (comment)
The text was updated successfully, but these errors were encountered: