b-data / data-science-devcontainers

(GPU accelerated) Multi-arch (linux/amd64, linux/arm64/v8) Data Science dev containers for R, Python, Julia and Mojo
MIT License
22 stars 9 forks source link

Can I connect as root? #3

Closed benz0li closed 1 year ago

benz0li commented 1 year ago

https://containers.dev/implementors/json_reference/#remoteUser

benz0li commented 1 year ago

Yes.

And R/Python/Julia packages are always installed within the users home directory.
ℹ️ Even as root because of environment variable PIP_USER=1[^1].

[^1]: i.e. command line option --user set by default via environment variable.

benz0li commented 1 year ago

To connect as root, e.g. modify the devcontainer.json for R base as follows:

diff --git a/.devcontainer/r-base/devcontainer.json b/.devcontainer/r-base/devcontainer.json
index 7f81ce2..571b9e3 100644
--- a/.devcontainer/r-base/devcontainer.json
+++ b/.devcontainer/r-base/devcontainer.json
@@ -85,13 +85,13 @@
        },

        // Set 'remoteUser' to 'root' to connect as root instead.
-       "remoteUser": "vscode",
-       "workspaceMount": "source=r-base-home-vscode,target=/home/vscode,type=volume",
-       // "workspaceMount": "source=${localWorkspaceFolder}/.bind-mounts/r-base-home-vscode,target=/home/vscode,type=bind",
-       "workspaceFolder": "/home/vscode"
+       // "remoteUser": "vscode",
+       // "workspaceMount": "source=r-base-home-vscode,target=/home/vscode,type=volume",
+       // // "workspaceMount": "source=${localWorkspaceFolder}/.bind-mounts/r-base-home-vscode,target=/home/vscode,type=bind",
+       // "workspaceFolder": "/home/vscode"

-       // "remoteUser": "root",
-       // "workspaceMount": "source=r-base-root,target=/root,type=volume",
-       // // "workspaceMount": "source=${localWorkspaceFolder}/.bind-mounts/r-base-root,target=/root,type=bind",
-       // "workspaceFolder": "/root"
+       "remoteUser": "root",
+       "workspaceMount": "source=r-base-root,target=/root,type=volume",
+       // "workspaceMount": "source=${localWorkspaceFolder}/.bind-mounts/r-base-root,target=/root,type=bind",
+       "workspaceFolder": "/root"
 }