colima icon indicating copy to clipboard operation
colima copied to clipboard

VSCode Devcontainer unable to open inside container

Open MagicLegend opened this issue 2 years ago • 5 comments

Description

Hi!

Seems like something is funky about how VSCode is trying to mount the current directory to the container. It throws the following:

[159 ms] Remote-Containers 0.245.2 in VS Code 1.70.1 (6d9b74a70ca9c7733b29f0456fd8195364076dda).
[158 ms] Start: Resolving Remote
[170 ms] Setting up container for folder or workspace: /Users/<user>/Documents/private/colima-issue
[170 ms] Context: colima
[173 ms] Start: Check Docker is running
[173 ms] Start: Run: docker version --format {{.Server.APIVersion}}
[203 ms] Server API version: 1.41
[203 ms] Start: Run: docker volume ls -q
[232 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=/Users/<user>/Documents/private/colima-issue --filter label=vsch.quality=stable
[250 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue
[266 ms] Start: Run: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper /Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/<user>/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --workspace-folder /Users/<user>/Documents/private/colima-issue --workspace-mount-consistency cached --id-label devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue --log-level debug --log-format json --config /Users/<user>/Documents/private/colima-issue/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[371 ms] remote-containers 0.245.2.
[371 ms] Start: Run: docker buildx version
[551 ms] Start: Resolving Remote
[552 ms] Start: Run: git rev-parse --show-cdup
[560 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue
[576 ms] local container features stored at: /Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/node_modules/vscode-dev-containers/container-features
[576 ms] Start: Run: tar --no-same-owner -x -f -
[588 ms] Start: Run: docker events --format {{json .}} --filter event=start
[589 ms] Start: Starting container
[590 ms] Start: Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=/Users/<user>/Documents/private/colima-issue,target=/workspaces/colima-issue,consistency=cached --mount type=volume,src=vscode,dst=/vscode -l devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue --entrypoint /bin/sh danteev/texlive -c echo Container started
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /Users/<user>/Documents/private/colima-issue.
See 'docker run --help'.
[665 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue
[682 ms] Error: Command failed: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=/Users/<user>/Documents/private/colima-issue,target=/workspaces/colima-issue,consistency=cached --mount type=volume,src=vscode,dst=/vscode -l devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue --entrypoint /bin/sh danteev/texlive -c echo Container started
[682 ms] trap "exit 0" 15
[682 ms] exec "$@"
[682 ms] while sleep 1 & wait $!; do :; done -
[683 ms]     at MS (/Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js:255:2186)
[683 ms]     at Zw (/Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js:255:2124)
[683 ms]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
[683 ms]     at async KS (/Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js:261:2006)
[683 ms]     at async co (/Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js:261:3110)
[683 ms]     at async LP (/Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js:360:9352)
[683 ms]     at async DP (/Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js:360:9108)
[684 ms] Exit code 1
[685 ms] Command failed: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper /Users/<user>/.vscode/extensions/ms-vscode-remote.remote-containers-0.245.2/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/<user>/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --workspace-folder /Users/<user>/Documents/private/colima-issue --workspace-mount-consistency cached --id-label devcontainer.local_folder=/Users/<user>/Documents/private/colima-issue --log-level debug --log-format json --config /Users/<user>/Documents/private/colima-issue/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[685 ms] Exit code 1

Manually running the docker command in the logs also fails with the same error - but I'm not sure if this is Colima freaking out about something, or if the VSCode: Containers extension is broken in combination with Colima. I was under the impression Colima was a drop-in replacement for Docker Desktop, hence I'm filing the issue here. I'd expect --mount to behave the same.

Version

Colima Version: 0.4.4 Lima Version: 0.11.3 Qemu Version: 7.0.0

Operating System

  • [ ] macOS Intel
  • [X] macOS M1
  • [ ] Linux

Reproduction Steps

<Assuming Remote: Containers is installed>

  1. Create a .devcontainer/devcontainer.json file with the following content:
{
	"name": "TeX Live base",
	"image": "danteev/texlive",
	"extensions": ["james-yu.latex-workshop"]
}

1.5. If you feel like it, create a valid .tex file:

\documentclass[10pt,a4paper]{article}

\begin{document}
\begin{center}
    I am broken!
\end{center}
\end{document} 
  1. Reopen in container (can be found by clicking on the green arrow in the bottom left)

Expected behaviour

A working container.

Additional context

No response

MagicLegend avatar Aug 23 '22 12:08 MagicLegend

Does switching to 9p mount resolve this?

colima start --mount-type 9p

abiosoft avatar Nov 14 '22 04:11 abiosoft

Hi @abiosoft ,

No, that does not solve the issue. I still get the same error unfortunately.

MagicLegend avatar Nov 21 '22 16:11 MagicLegend

Running into this same issue - anything I can do to help debug? On macOS Intel and latest colima.

(update) Was running into this issue with a folder in /tmp. Tried with a folder in my home directory and it seems to work fine!

dacort avatar Mar 22 '23 05:03 dacort

I am having the same issue with my Mac Air M1

filiperochalopes avatar Feb 23 '24 11:02 filiperochalopes

Is there an update to this? Running into the same issue. MBP with M2, with latest colima version 0.68.0, docker version 26.0.1 and dev containers 0.354.0

DavidSchischke avatar Apr 16 '24 15:04 DavidSchischke