Docker Pipe Permission Issues with WSL when running Coder in Docker

@Phorcys Here is the thread. I am struggling to get permissions working with coder user on WSL. So far two things worked: 1. Make all images run in root user. 2. Run docker compose up -d in WSL This is not ideal since it requires swapping to WSL to make it work or running in root on the containers. The other problem I ran into was that when running coder image as root it would work but all images had to be run as root since volumes would be created by TF with root user permissions and then coder user did not have access to it, making me unable to RW files in volumes created for workspaces using TF
9 Replies
Codercord
Codercord4w ago
<#1327139694169034826>
Category
Bug report
Product
Coder (v2)
Platform
Windows
Logs
Please post any relevant logs/error messages.
Noxide
NoxideOP4w ago
PS C:\dev\private\coder\docker> docker compose up -d
[+] Running 3/3
✔ Network coder_default Created 0.0s
✔ Container coder-database-1 Healthy 6.0s
✔ Container coder-coder-1 Started 6.2s
PS C:\dev\private\coder\docker> docker compose up -d
[+] Running 3/3
✔ Network coder_default Created 0.0s
✔ Container coder-database-1 Healthy 6.0s
✔ Container coder-coder-1 Started 6.2s
PS C:\dev\private\coder\docker> coder templates push -y
=== ✔ Queued [0ms]
==> ⧗ Running
==> ⧗ Running
=== ✔ Running [6ms]
==> ⧗ Setting up
=== ✔ Setting up [0ms]
==> ⧗ Parsing template parameters
=== ✔ Parsing template parameters [11ms]
==> ⧗ Detecting persistent resources
2025-01-10 07:19:59.425+02:00 Terraform 1.9.8
2025-01-10 07:19:59.639+02:00 data.coder_provisioner.me: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_parameter.enable_php: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_parameter.enable_nodejs: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_workspace_owner.me: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_workspace.me: Refreshing...
2025-01-10 07:19:59.640+02:00 data.coder_provisioner.me: Refresh complete after 0s [id=70cb9106-6532-4402-8814-5ce759132cc3]
2025-01-10 07:19:59.640+02:00 data.coder_workspace.me: Refresh complete after 0s [id=bbc875b8-7088-4572-9f49-9afcd599962b]
2025-01-10 07:19:59.641+02:00 data.coder_parameter.enable_php: Refresh complete after 0s [id=dde3484e-5d7f-4204-9211-50f7bfbe3212]
2025-01-10 07:19:59.641+02:00 data.coder_workspace_owner.me: Refresh complete after 0s [id=7be10f52-2fbe-4c1b-af38-7c37bdf6ce3a]
2025-01-10 07:19:59.641+02:00 data.coder_parameter.enable_nodejs: Refresh complete after 0s [id=a24f390d-2ac9-4b77-9d21-899cde82dc78]
2025-01-10 07:19:59.641+02:00 module.jetbrains_gateway[0].data.coder_workspace.me: Refreshing...
2025-01-10 07:19:59.641+02:00 module.jetbrains_gateway[0].data.coder_workspace_owner.me: Refreshing...
2025-01-10 07:19:59.642+02:00 module.jetbrains_gateway[0].data.coder_workspace.me: Refresh complete after 0s [id=a7669617-1236-4631-a29b-755fe8bfe45b]
2025-01-10 07:19:59.642+02:00 data.coder_parameter.node_versions: Refreshing...
2025-01-10 07:19:59.642+02:00 data.coder_parameter.php_version: Refreshing...
2025-01-10 07:19:59.642+02:00 module.jetbrains_gateway[0].data.coder_workspace_owner.me: Refresh complete after 0s [id=2502dc59-a832-4548-bb99-cce5b99a9e40]
2025-01-10 07:19:59.644+02:00 data.coder_parameter.node_versions: Refresh complete after 0s [id=5c0d26d5-e159-4675-909d-b13c19d946ea]
2025-01-10 07:19:59.644+02:00 data.coder_parameter.php_version: Refresh complete after 0s [id=0ac67271-9af2-46e0-b10c-c611628a52a2]
2025-01-10 07:19:59.646+02:00 data.coder_parameter.default_node_version: Refreshing...
2025-01-10 07:19:59.646+02:00 module.jetbrains_gateway[0].data.coder_parameter.jetbrains_ide: Refreshing...
2025-01-10 07:19:59.647+02:00 data.coder_parameter.default_node_version: Refresh complete after 0s [id=16eb85fd-9435-4dbf-990f-6e57dec6d817]
2025-01-10 07:19:59.647+02:00 module.jetbrains_gateway[0].data.coder_parameter.jetbrains_ide: Refresh complete after 0s [id=8d511391-9705-49c7-b2d5-7c56ab92051e]
2025-01-10 07:19:59.655+02:00 coder_agent.main: Plan to create
2025-01-10 07:19:59.655+02:00 module.jetbrains_gateway[0].coder_app.gateway: Plan to create
2025-01-10 07:19:59.655+02:00 module.code-server[0].coder_app.code-server: Plan to create
2025-01-10 07:19:59.655+02:00 module.code-server[0].coder_script.code-server: Plan to create
2025-01-10 07:19:59.655+02:00 Plan: 4 to add, 0 to change, 0 to destroy.
2025-01-10 07:19:59.656+02:00 Error: Error pinging Docker server: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
2025-01-10 07:19:59.656+02:00 on main.tf line 22, in provider "docker":
2025-01-10 07:19:59.656+02:00 22: provider "docker" {
2025-01-10 07:19:59.656+02:00
2025-01-10 07:19:59.656+02:00
=== ✔ Detecting persistent resources [10297ms]
==> ⧗ Cleaning Up
=== ✘ Cleaning Up [8ms]
=== ✘ Cleaning Up [44ms]
Encountered an error running "coder templates push", see "coder templates push --help" for more information
error: template import provision for start: terraform plan: exit status 1
PS C:\dev\private\coder\docker> coder templates push -y
=== ✔ Queued [0ms]
==> ⧗ Running
==> ⧗ Running
=== ✔ Running [6ms]
==> ⧗ Setting up
=== ✔ Setting up [0ms]
==> ⧗ Parsing template parameters
=== ✔ Parsing template parameters [11ms]
==> ⧗ Detecting persistent resources
2025-01-10 07:19:59.425+02:00 Terraform 1.9.8
2025-01-10 07:19:59.639+02:00 data.coder_provisioner.me: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_parameter.enable_php: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_parameter.enable_nodejs: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_workspace_owner.me: Refreshing...
2025-01-10 07:19:59.639+02:00 data.coder_workspace.me: Refreshing...
2025-01-10 07:19:59.640+02:00 data.coder_provisioner.me: Refresh complete after 0s [id=70cb9106-6532-4402-8814-5ce759132cc3]
2025-01-10 07:19:59.640+02:00 data.coder_workspace.me: Refresh complete after 0s [id=bbc875b8-7088-4572-9f49-9afcd599962b]
2025-01-10 07:19:59.641+02:00 data.coder_parameter.enable_php: Refresh complete after 0s [id=dde3484e-5d7f-4204-9211-50f7bfbe3212]
2025-01-10 07:19:59.641+02:00 data.coder_workspace_owner.me: Refresh complete after 0s [id=7be10f52-2fbe-4c1b-af38-7c37bdf6ce3a]
2025-01-10 07:19:59.641+02:00 data.coder_parameter.enable_nodejs: Refresh complete after 0s [id=a24f390d-2ac9-4b77-9d21-899cde82dc78]
2025-01-10 07:19:59.641+02:00 module.jetbrains_gateway[0].data.coder_workspace.me: Refreshing...
2025-01-10 07:19:59.641+02:00 module.jetbrains_gateway[0].data.coder_workspace_owner.me: Refreshing...
2025-01-10 07:19:59.642+02:00 module.jetbrains_gateway[0].data.coder_workspace.me: Refresh complete after 0s [id=a7669617-1236-4631-a29b-755fe8bfe45b]
2025-01-10 07:19:59.642+02:00 data.coder_parameter.node_versions: Refreshing...
2025-01-10 07:19:59.642+02:00 data.coder_parameter.php_version: Refreshing...
2025-01-10 07:19:59.642+02:00 module.jetbrains_gateway[0].data.coder_workspace_owner.me: Refresh complete after 0s [id=2502dc59-a832-4548-bb99-cce5b99a9e40]
2025-01-10 07:19:59.644+02:00 data.coder_parameter.node_versions: Refresh complete after 0s [id=5c0d26d5-e159-4675-909d-b13c19d946ea]
2025-01-10 07:19:59.644+02:00 data.coder_parameter.php_version: Refresh complete after 0s [id=0ac67271-9af2-46e0-b10c-c611628a52a2]
2025-01-10 07:19:59.646+02:00 data.coder_parameter.default_node_version: Refreshing...
2025-01-10 07:19:59.646+02:00 module.jetbrains_gateway[0].data.coder_parameter.jetbrains_ide: Refreshing...
2025-01-10 07:19:59.647+02:00 data.coder_parameter.default_node_version: Refresh complete after 0s [id=16eb85fd-9435-4dbf-990f-6e57dec6d817]
2025-01-10 07:19:59.647+02:00 module.jetbrains_gateway[0].data.coder_parameter.jetbrains_ide: Refresh complete after 0s [id=8d511391-9705-49c7-b2d5-7c56ab92051e]
2025-01-10 07:19:59.655+02:00 coder_agent.main: Plan to create
2025-01-10 07:19:59.655+02:00 module.jetbrains_gateway[0].coder_app.gateway: Plan to create
2025-01-10 07:19:59.655+02:00 module.code-server[0].coder_app.code-server: Plan to create
2025-01-10 07:19:59.655+02:00 module.code-server[0].coder_script.code-server: Plan to create
2025-01-10 07:19:59.655+02:00 Plan: 4 to add, 0 to change, 0 to destroy.
2025-01-10 07:19:59.656+02:00 Error: Error pinging Docker server: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
2025-01-10 07:19:59.656+02:00 on main.tf line 22, in provider "docker":
2025-01-10 07:19:59.656+02:00 22: provider "docker" {
2025-01-10 07:19:59.656+02:00
2025-01-10 07:19:59.656+02:00
=== ✔ Detecting persistent resources [10297ms]
==> ⧗ Cleaning Up
=== ✘ Cleaning Up [8ms]
=== ✘ Cleaning Up [44ms]
Encountered an error running "coder templates push", see "coder templates push --help" for more information
error: template import provision for start: terraform plan: exit status 1
Noxide
NoxideOP4w ago
Current docker template
Noxide
NoxideOP4w ago
Ok it seems running docker compose from wsl only works.
Phorcys
Phorcys4w ago
hey, have you changed anything in your docker compose when running it in WSL? it should work from any of WSL or Windows
Noxide
NoxideOP4w ago
No changes, initially. Started playing around. Ideally i would like to cleanly install WSL again and try it again. I think the course of action which is different from a normal WSL install was that Docker Desktop installed and enabled WSL and then I worked in the docker instance (where i started working with Coder). It was only later i installed ubuntu and swapped to using it.
Phorcys
Phorcys4w ago
sounds good, pretty weird though
Codercord
Codercord4w ago
@Phorcys closed the thread.

Did you find this page helpful?