Last updated: 2026-02-13
When the repo is on the Windows filesystem and mounted into a Linux devcontainer, the mounted workspace does not behave exactly like a native Linux filesystem.
Typical effects:
- ownership/permission friction on the mounted workspace
- slower file I/O than WSL-native storage
- Linux ACL-based fixes that work under
/godo not fully apply to the mounted source tree
This repo uses:
- active workspace path:
/workspaces/<repo> remoteUser:vscode- post-create hook:
.devcontainer/post-create.sh(called with${containerWorkspaceFolder})
The post-create script attempts to normalize ownership for the mounted workspace and /home/vscode caches.
- Use WSL2.
- Clone the repository inside the Linux filesystem (for example under
~/git/...in Ubuntu). - Open from WSL in VS Code, then reopen in container.
This is the most reliable and fastest setup.
pwd
ls -ld .
idExpected:
- current directory under
/workspaces/<repo> - effective user is
vscode - workspace is writable by
vscode
Run:
bash .devcontainer/post-create.sh "${containerWorkspaceFolder:-$(pwd)}"Then verify:
touch .permission-check && rm .permission-check
go mod tidy/gois container filesystem and uses Linux semantics; ACL/setgid strategy documented ingo-module-permissions.mdapplies there./workspaces/<repo>is a bind mount from host; behavior depends on host filesystem and Docker Desktop integration.