Giter VIP home page Giter VIP logo

vscode-remote-try-python's Introduction

Try Out Development Containers: Python

Open in Dev Containers

A development container is a running container with a well-defined tool/runtime stack and its prerequisites. You can try out development containers with GitHub Codespaces or Visual Studio Code Dev Containers.

This is a sample project that lets you try out either option in a few easy steps. We have a variety of other vscode-remote-try-* sample projects, too.

Note: If you already have a codespace or dev container, you can jump to the Things to try section.

Setting up the development container

GitHub Codespaces

Follow these steps to open this sample in a Codespace:

  1. Click the Code drop-down menu.
  2. Click on the Codespaces tab.
  3. Click Create codespace on main .

For more information on creating your codespace, visit the GitHub documentation.

VS Code Dev Containers

If you already have VS Code and Docker installed, you can click the badge above or here to get started. Clicking these links will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.

Follow these steps to open this sample in a container using the VS Code Dev Containers extension:

  1. If this is your first time using a development container, please ensure your system meets the prerequisites (i.e. have Docker installed) in the getting started steps.

  2. To use this repository, you can either open the repository in an isolated Docker volume:

    • Press F1 and select the Dev Containers: Try a Sample... command.
    • Choose the "Python" sample, wait for the container to start, and try things out!

      Note: Under the hood, this will use the Dev Containers: Clone Repository in Container Volume... command to clone the source code in a Docker volume instead of the local filesystem. Volumes are the preferred mechanism for persisting container data.

    Or open a locally cloned copy of the code:

    • Clone this repository to your local filesystem.
    • Press F1 and select the Dev Containers: Open Folder in Container... command.
    • Select the cloned copy of this folder, wait for the container to start, and try things out!

Things to try

Once you have this sample opened, you'll be able to work with it like you would locally.

Some things to try:

  1. Edit:

    • Open app.py
    • Try adding some code and check out the language features.
    • Make a spelling mistake and notice it is detected. The Code Spell Checker extension was automatically installed because it is referenced in .devcontainer/devcontainer.json.
    • Also notice that utilities like pylint and the Python extension are installed. Tools are installed in the mcr.microsoft.com/devcontainers/python image and Dev Container settings and metadata are automatically picked up from image labels.
  2. Terminal:

    • Press ctrl+shift+` to open a terminal window.

    • Type python -m flask run --port 9000 --no-debugger --no-reload to run the app.

      • The terminal will say your app is Running on http://127.0.0.1:9000/. Click on the link in the terminal to view your app running in the browser.
    • Notice that the Python extension is already installed in the container since the .devcontainer/devcontainer.json lists "ms-python.python" as an extension to install automatically when the container is created.

      Tip: If you use this container outside of VS Code via docker run with -p 9000, you may need to append --host 0.0.0.0 to the command above. The -p option "publishes" the port rather than forwarding it. It therefore will not work if the application only listens to localhost. The forwardPorts property in devcontainer.json does not have this limitation, but you can use appPort property instead if you want to mirror the docker run behavior.

  3. Build, Run, and Debug:

    • Open app.py
    • Add a breakpoint (e.g. on line 9).
    • Press F5 to launch the app in the container.
    • Once the breakpoint is hit, try hovering over variables (e.g. the app variable on line 7), examining locals, and more.
    • Continue (F5). You can connect to the server in the container by either:
      • Clicking on Open in Browser in the notification telling you: Your service running on port 9000 is available.
      • Clicking the globe icon in the 'Ports' view. The 'Ports' view gives you an organized table of your forwarded ports, and you can access it with the command Ports: Focus on Ports View.
    • Notice port 9000 in the 'Ports' view is labeled "Hello Remote World." In devcontainer.json, you can set "portsAttributes", such as a label for your forwarded ports and the action to be taken when the port is autoforwarded.

    Note: In Dev Containers, you can access your app at http://localhost:9000 in a local browser. But in a browser-based Codespace, you must click the link from the notification or the Ports view so that the service handles port forwarding in the browser and generates the correct URL.

  4. Rebuild or update your container

    You may want to make changes to your container, such as installing a different version of a software or forwarding a new port. You'll rebuild your container for your changes to take effect.

    Open browser automatically: As an example change, let's update the portsAttributes in the .devcontainer/devcontainer.json file to open a browser when our port is automatically forwarded.

    • Open the .devcontainer/devcontainer.json file.
    • Modify the "onAutoForward" attribute in your portsAttributes from "notify" to "openBrowser".
    • Press F1 and select the Dev Containers: Rebuild Container or Codespaces: Rebuild Container command so the modifications are picked up.
  5. Install Node.js using a Dev Container Feature:

    • Press F1 and select the Dev Containers: Configure Container Features... or Codespaces: Configure Container Features... command.
    • Type "node" in the text box at the top.
    • Check the check box next to "Node.js (via nvm) and yarn" (published by devcontainers)
    • Click OK
    • Press F1 and select the Dev Containers: Rebuild Container or Codespaces: Rebuild Container command so the modifications are picked up.

More samples

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

License

Copyright Β© Microsoft Corporation All rights reserved.
Licensed under the MIT License. See LICENSE in the project root for license information.

vscode-remote-try-python's People

Contributors

alexr00 avatar bamurtaugh avatar chuxel avatar danielmabadeje avatar egamma avatar ianhopkinson avatar kieferrm avatar microsoftopensource avatar msftgits avatar qubitron avatar rahulrai-in avatar samruddhikhandale avatar tonybaloney avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-remote-try-python's Issues

Docker image fails at build

https://code.visualstudio.com/docs/remote/containers#_quick-start-try-a-dev-container

Let's start by using a sample project to try things out.

1 Clone one of the sample repositories below.

Chose git clone https://github.com/Microsoft/vscode-remote-try-python

2 Start VS Code and click on the quick actions Status Bar item in the lower left corner of the window.

Select Remote-Containers: Open Folder in Container... from the command list that appears, and open the root folder of the project you just cloned.

The window will then reload, but since the container does not exist yet, VS Code will create one. This may take some time, and a progress notification will provide status updates. Fortunately, this step isn't necessary the next time you open the folder since the container will already exist.

**The building process fails ** . Log below.

[1 ms] Start: Resolving remote
[4 ms] Setting up container for folder or workspace: c:\Users\matthijs\code\vscode-remote-try-python

[50 ms] Start: Check Docker is running
[50 ms] Start: Run: docker info
[923 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=c:\Users\matthijs\code\vscode-remote-try-python --filter label=vsch.quality=insider
[1854 ms] Start: Run: docker build -f c:\Users\matthijs\code\vscode-remote-try-python\.devcontainer\Dockerfile -t vsc-vscode-remote-try-python-e32e613a602824008537d0e9888c555e c:\Users\matthijs\code\vscode-remote-try-python
Sending build context to Docker daemon  114.7kB
Step 1/10 : FROM python:3
 ---> f88b2f81f83a
Step 2/10 : ENV DEBIAN_FRONTEND=noninteractive
 ---> Running in 1fba08ee8c45
Removing intermediate container 1fba08ee8c45
 ---> d3246d093765
Step 3/10 : ARG USERNAME=vscode
 ---> Running in b427b40352ec
Removing intermediate container b427b40352ec
 ---> 0576d09ebbc1
Step 4/10 : ARG USER_UID=1000
 ---> Running in 33bed48fff6d
Removing intermediate container 33bed48fff6d
 ---> 14ff3a49b3c6
Step 5/10 : ARG USER_GID=$USER_UID
 ---> Running in 36247bb5d0d5
Removing intermediate container 36247bb5d0d5
 ---> d7ed263e40bd
Step 6/10 : ENV PIP_TARGET=/usr/local/share/pip-global
 ---> Running in a62503bc61ac
Removing intermediate container a62503bc61ac
 ---> f8c3f4643c9e
Step 7/10 : ENV PYTHONPATH=${PYTHONPATH}:${PIP_TARGET}
 ---> Running in 9b5a605e4c94
Removing intermediate container 9b5a605e4c94
 ---> cd116c3a3a87
Step 8/10 : ENV PATH=${PATH}:${PIP_TARGET}/bin
 ---> Running in ca6a28d1e0f7
Removing intermediate container ca6a28d1e0f7
 ---> 532f44b53a9e
Step 9/10 : RUN apt-get update     && apt-get -y install --no-install-recommends apt-utils dialog 2>&1     && apt-get -y install git iproute2 procps lsb-release     && pip --disable-pip-version-check --no-cache-dir install pylint     && groupadd --gid $USER_GID $USERNAME     && use
radd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME     && apt-get install -y sudo     && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME    && chmod 0440 /etc/sudoers.d/$USERNAME     && mkdir -p /usr/local/share/pip-global     && chown ${USERNAME}:ro
ot /usr/local/share/pip-global     && apt-get autoremove -y     && apt-get clean -y     && rm -rf /var/lib/apt/lists/*
 ---> Running in dc3da3711166
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:4 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
Reading package lists...
E: Release file for http://security.debian.org/debian-security/dists/buster/updates/InRelease is not valid yet (invalid for another 1d 8h 50min 59s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian/dists/buster-updates/InRelease is not valid yet (invalid for another 1d 16h 29min 30s). Updates for this repository will not be applied.
The command '/bin/sh -c apt-get update     && apt-get -y install --no-install-recommends apt-utils dialog 2>&1     && apt-get -y install git iproute2 procps lsb-release     && pip --disable-pip-version-check --no-cache-dir install pylint     && groupadd --gid $USER_GID $USERNAME
  && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME     && apt-get install -y sudo     && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME    && chmod 0440 /etc/sudoers.d/$USERNAME     && mkdir -p /usr/local/share/pip-global     && chown ${USER
NAME}:root /usr/local/share/pip-global     && apt-get autoremove -y     && apt-get clean -y     && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
[23364 ms] Failed: Building an image from the Dockerfile (this can take a while).
[23369 ms] Command failed: C:\Program Files\Docker\Docker\resources\bin\docker.exe build -f c:\Users\matthijs\code\vscode-remote-try-python\.devcontainer\Dockerfile -t vsc-vscode-remote-try-python-e32e613a602824008537d0e9888c555e c:\Users\matthijs\code\vscode-remote-try-python

When building the image, presumably the time is not accurate, which causes the build to fail.

VScode: 1.44.0-insider
Windows OS Name Microsoft Windows 10 Pro, 10.0.18363 N/A Build 18363
Docker version 19.03.5 build 633a0ea

[29 ms] Dev Containers 0.299.0 in VS Code 1.80.1 (74f6148eb9ea00507ec113ec51c489d6ffb4b771).

          [29 ms] Dev Containers 0.299.0 in VS Code 1.80.1 (74f6148eb9ea00507ec113ec51c489d6ffb4b771).

[29 ms] Start: Resolving Remote
[57 ms] Setting up container for folder or workspace: c:\Users\idobarkan\code\vscode-remote-try-node
[59 ms] Start: Run: wsl -l -v
[227 ms] Start: Run: wsl -d Ubuntu-22.04 -e /bin/sh -c echo ~
[519 ms] Start: Run: wsl -d Ubuntu-22.04 -e /bin/sh -c cd '/home/idobarkan' && /bin/sh
[535 ms] Start: Run in host: id -un
[698 ms] idobarkan
[698 ms]
[698 ms] Start: Run in host: cat /etc/passwd
[702 ms] Start: Run in host: echo ~
[703 ms] /home/idobarkan
[703 ms]
[704 ms] Start: Run in host: test -x '/home/idobarkan/.vscode-remote-containers/bin/74f6148eb9ea00507ec113ec51c489d6ffb4b771/node'
[704 ms]
[704 ms]
[705 ms] Start: Run in host: test -f '/home/idobarkan/.vscode-remote-containers/dist/vscode-remote-containers-server-0.299.0.js'
[706 ms]
[706 ms]
[712 ms] userEnvProbe: loginInteractiveShell (default)
[713 ms] userEnvProbe: not found in cache
[715 ms] userEnvProbe shell: /bin/bash
[2245 ms] userEnvProbe PATHs:
Probe: '/home/idobarkan/.nvm/versions/node/v18.17.0/bin:/home/idobarkan/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/PowerShell/7:/mnt/c/Program Files (x86)/Microsoft SDKs/Azure/CLI2/wbin:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/Program Files/dotnet/:/mnt/c/Users/idobarkan/AppData/Roaming/nvm:/mnt/c/Program Files/nodejs:/mnt/c/Program Files/GitHub CLI/:/mnt/c/Program Files/PowerShell/7/:/mnt/c/Program Files/Git/cmd:/mnt/c/Users/idobarkan/.cargo/bin:/mnt/c/Users/idobarkan/AppData/Local/Programs/Python/Python311/Scripts/:/mnt/c/Users/idobarkan/AppData/Local/Programs/Python/Python311/:/mnt/c/Users/idobarkan/AppData/Local/Programs/Python/Launcher/:/mnt/c/Users/idobarkan/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/idobarkan/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/JetBrains/PyCharm 2023.1.4/bin:/mnt/c/Program Files/CMake/bin:/mnt/c/Users/idobarkan/.dotnet/tools:/mnt/c/Program Files/Neovim/bin:/mnt/c/Users/idobarkan/AppData/Local/Programs/oh-my-posh/bin:/mnt/c/Users/idobarkan/AppData/Roaming/npm:/mnt/c/Users/idobarkan/AppData/Roaming/nvm:/mnt/c/Program Files/nodejs:/snap/bin'
Container: None
[2253 ms] Start: Run in Host: wslpath -w /run/user/1000/wayland-0
[2262 ms] Start: Check Docker is running
[2262 ms] Start: Run: docker version --format {{.Server.APIVersion}}
[2586 ms] Server API version: 1.43
[2587 ms] Start: Run: docker volume ls -q
[2820 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=vsch.quality=stable
[3145 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json
[3403 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node
[3620 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node
[3866 ms] Start: Run: C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js read-configuration --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --mount-workspace-git-root true
[4568 ms] @devcontainers/cli 0.46.0. Node.js v16.17.1. win32 10.0.22621 x64.
[4568 ms] Start: Run: git rev-parse --show-cdup
[4689 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json
[5427 ms] Start: Run: C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\idobarkan\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-c676a5ee-d8e3-442a-b4f0-ceccaa557e7b1690281989355 --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,target=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[5867 ms] @devcontainers/cli 0.46.0. Node.js v16.17.1. win32 10.0.22621 x64.
[5867 ms] Start: Run: docker buildx version
[7017 ms] github.com/docker/buildx v0.11.0 687feca9e8dcd1534ac4c026bc4db5a49de0dd6e
[7017 ms]
[7017 ms] Start: Resolving Remote
[7021 ms] Start: Run: git rev-parse --show-cdup
[7435 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json
[7683 ms] Start: Run: docker inspect --type image mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye
[7924 ms] local container features stored at: c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\node_modules\vscode-dev-containers\container-features
[7928 ms] Start: Run: tar --no-same-owner -x -f -
[8021 ms] Start: Run: docker events --format {{json .}} --filter event=start
[8041 ms] Start: Starting container
[8042 ms] Start: Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=c:\Users\idobarkan\code\vscode-remote-try-node,target=/workspaces/vscode-remote-try-node,consistency=cached --mount type=volume,src=vscode,dst=/vscode --mount type=bind,src=\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,dst=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock -l devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node -l devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --entrypoint /bin/sh -l devcontainer.metadata=[{"id":"ghcr.io/devcontainers/features/common-utils:2"},{"id":"ghcr.io/devcontainers/features/git:1"},{"id":"ghcr.io/devcontainers/features/node:1","customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}}},{"customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"},{"postCreateCommand":"yarn install","customizations":{"vscode":{"settings":{},"extensions":["streetsidesoftware.code-spell-checker"]}},"portsAttributes":{"3000":{"label":"Hello Remote World","onAutoForward":"notify"}}}] mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye -c echo Container started
docker: Error response from daemon: \wsl.localhost\Ubuntu-22.04\run\user\1000\w
ayland-0%!(EXTRA string=is not a valid Windows path).
See 'docker run --help'.
[15069 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json
[15354 ms] Error: Command failed: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=c:\Users\idobarkan\code\vscode-remote-try-node,target=/workspaces/vscode-remote-try-node,consistency=cached --mount type=volume,src=vscode,dst=/vscode --mount type=bind,src=\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,dst=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock -l devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node -l devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --entrypoint /bin/sh -l devcontainer.metadata=[{"id":"ghcr.io/devcontainers/features/common-utils:2"},{"id":"ghcr.io/devcontainers/features/git:1"},{"id":"ghcr.io/devcontainers/features/node:1","customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}}},{"customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"},{"postCreateCommand":"yarn install","customizations":{"vscode":{"settings":{},"extensions":["streetsidesoftware.code-spell-checker"]}},"portsAttributes":{"3000":{"label":"Hello Remote World","onAutoForward":"notify"}}}] mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye -c echo Container started
[15354 ms] trap "exit 0" 15
[15354 ms] exec "$@"
[15354 ms] while sleep 1 & wait $!; do :; done -
[15354 ms] at Mte (c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2007:1066)
[15354 ms] at n3 (c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2007:1002)
[15354 ms] at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
[15354 ms] at async rre (c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2024:3660)
[15354 ms] at async Yf (c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2024:4775)
[15354 ms] at async Dne (c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2156:12193)
[15354 ms] at async Sne (c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2156:11934)
[15377 ms] Exit code 1
[15383 ms] Command failed: C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\idobarkan\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-c676a5ee-d8e3-442a-b4f0-ceccaa557e7b1690281989355 --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,target=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[15383 ms] Exit code 1

Originally posted by @Jasonford323 in #67 (comment)

Add pytest example [feature-request]

I have to figure out myself that I had to forward port 3000, add some configs, etc. to run pytest tests on my devcontainer.

I looked here for an example and I didn't find it. I think it's the proper place to do have it.

PD: great work, I'm enjoying working in a env closer to prod

got stuck when trying to follow the vs code container tutorial

I got stuck when trying the tutorial.

[108 ms] Remote-Containers 0.241.3 in VS Code 1.69.2 (3b889b090b5ad5793f524b5d1d39fda662b96a2a).
[107 ms] Start: Resolving Remote
[120 ms] Start: Check Docker is running
[120 ms] Start: Run: docker version --format {{.Server.APIVersion}}
[479 ms] Server API version: 1.41
[481 ms] Start: Run: docker volume ls -q
[817 ms] Start: Run: docker volume create --label vsch.local.repository=https://github.com/Microsoft/vscode-remote-try-python --label vsch.local.repository.unique=true vscode-remote-try-python-41cc2ee6f8cb6b0cee4c350f9a78ef53
[1137 ms] Start: Run: docker build -f C:\Users\Admin\AppData\Local\Temp\vsch\bootstrap-image\0.241.3\bootstrap.Dockerfile -t vsc-volume-bootstrap C:\Users\Admin\AppData\Local\Temp\vsch\bootstrap-image\0.241.3

[+] Building 0.7s (5/8)
[+] Building 0.9s (5/8)
[+] Building 1.0s (5/8)
[+] Building 1.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 1.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 1.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 1.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 1.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 1.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 2.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 2.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 2.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 2.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 2.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 2.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 3.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 3.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 3.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load metadata for mcr.microsoft.com/vscode/devcontainers/b  0.5s
[+] Building 3.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 3.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 3.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 3.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 4.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 4.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 4.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 4.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 4.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 4.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 5.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 6.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 6.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 6.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
[+] Building 6.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 6.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 6.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 7.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 8.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 8.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 8.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 8.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 8.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 8.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 9.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 9.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 9.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 9.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 9.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 9.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 10.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 11.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 11.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 11.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 11.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 11.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 11.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 12.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 13.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 13.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 13.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 13.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 13.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 13.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 14.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 15.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 15.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 15.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 15.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 15.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 15.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 16.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 17.1s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 17.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 17.4s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 17.6s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 17.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 17.9s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 18.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 18.2s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 18.3s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 18.5s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 18.7s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 18.8s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 19.0s (5/8)
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load build definition from bootstrap.Dockerfile             0.0s
 => => transferring dockerfile: 42B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
[+] Building 19.1s (5/8)
 => => transferring dockerfile: 42B                                                              0.0s
 => [internal] load .dockerignore                                                                0.0s
 => => transferring context: 2B                                                                  0.0s
 => [internal] load metadata for mcr.microsoft.com/vscode/devcontainers/base:0-alpine-3.14       0.5s
[+] Building 820.4s (5/8)
 => => transferring dockerfile: 42B                                                              0.0s
 => [internal] load .dockerignore                                                                0.0s
 => => transferring context: 2B                                                                  0.0s
 => [internal] load metadata for mcr.microsoft.com/vscode/devcontainers/base:0-alpine-3.14       0.5s
 => CACHED [1/4] FROM mcr.microsoft.com/vscode/devcontainers/base:0-alpine-3.14@sha256:8cd94bb5  0.0s
 => [internal] load build context                                                                0.0s
 => => transferring context: 5.90kB                                                              0.0s
 => [2/4] RUN apk add --no-cache  nodejs  npm  make  g++  docker-cli  docker-compose  ;        819.8s

New to code

Hello,

Please I need reference to writing a script, started πŸ‘ already just wanted some clarification. on how to apply strings, list dict and
Ask the use to enter several sentences, one at a time (in a loop). To end the sentence entry, the
user enters a blank (empty) sentence.
Extract each word from each sentence and put it in a list. This will require at least one loop to go
through each sentence in the list. It is up to you how you want to get the words in the sentence.
As you get the words, put them into another list.
After you get the list of all the words, calculate the number of times each word. Display each
word (only once, with the number of times it appears in the whole set of data entry. In order to
do this:
Process the data to create a dictionary with the word as the key, and the count as the
value.
When displaying the results, iterate through the dictionary so you can control the way
the information is displayed. DO NOT simply print the whole dictionary at once.
The words are not case sensitive. For example, β€œHouse” and β€œhouse” are the same
words.
Ignore punctuation. To simply things, if punctuation is entered, only a period is assumed
at the end of a sentence.

so far I have πŸ‘
list1 = ['this', 'is', 'a', 'test']
list2 = ['another', 'test', 'for', 'me']

finalist = []

Thank you

Docker Container Running Locally While Using vscode-remote-try-python

Hello,

I was following the instruction on https://code.visualstudio.com/docs/remote/containers. However, there are some fundamental issues that I don't understand. From the concept shown in the instruction, it seems that the Docker container is running in the remote server, and the only thing required on our local computer is VS Code and our source code and files (no Docker). However, when I started to run the remote container vscode-remote-try-python, I found a vscode-remote-try-python Docker container was built and run on my local computer. Could you please clarify this? I thought you are hosting the containers on your Azure Cloud for users to test this.

$ docker ps -a
CONTAINER ID        IMAGE                                                           COMMAND                  CREATED             STATUS                      PORTS               NAMES
96c0b911a773        vsc-vscode-remote-try-python-41cc2ee6f8cb6b0cee4c350f9a78ef53   "/bin/sh -c 'echo Co…"   2 hours ago         Up About a minute                               interesting_herschel

Best,

Lei

There isn't a server.py file

Hi there guys,

I was trying out the new feature and reading the README file and realized there isn't "server.py" file.

Can you guys update the repo?
Thank you

Got an error when starting vscdoe in the container

from the container logs:

[29 ms] Dev Containers 0.299.0 in VS Code 1.80.1 (74f6148eb9ea00507ec113ec51c489d6ffb4b771).
[29 ms] Start: Resolving Remote
[57 ms] Setting up container for folder or workspace: c:\Users\idobarkan\code\vscode-remote-try-node
[59 ms] Start: Run: wsl -l -v
[227 ms] Start: Run: wsl -d Ubuntu-22.04 -e /bin/sh -c echo ~
[519 ms] Start: Run: wsl -d Ubuntu-22.04 -e /bin/sh -c cd '/home/idobarkan' && /bin/sh
[535 ms] Start: Run in host: id -un
[698 ms] idobarkan
[698 ms] 
[698 ms] Start: Run in host: cat /etc/passwd
[702 ms] Start: Run in host: echo ~
[703 ms] /home/idobarkan
[703 ms] 
[704 ms] Start: Run in host: test -x '/home/idobarkan/.vscode-remote-containers/bin/74f6148eb9ea00507ec113ec51c489d6ffb4b771/node'
[704 ms] 
[704 ms] 
[705 ms] Start: Run in host: test -f '/home/idobarkan/.vscode-remote-containers/dist/vscode-remote-containers-server-0.299.0.js'
[706 ms] 
[706 ms] 
[712 ms] userEnvProbe: loginInteractiveShell (default)
[713 ms] userEnvProbe: not found in cache
[715 ms] userEnvProbe shell: /bin/bash
[2245 ms] userEnvProbe PATHs:
Probe:     '/home/idobarkan/.nvm/versions/node/v18.17.0/bin:/home/idobarkan/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/PowerShell/7:/mnt/c/Program Files (x86)/Microsoft SDKs/Azure/CLI2/wbin:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/Program Files/dotnet/:/mnt/c/Users/idobarkan/AppData/Roaming/nvm:/mnt/c/Program Files/nodejs:/mnt/c/Program Files/GitHub CLI/:/mnt/c/Program Files/PowerShell/7/:/mnt/c/Program Files/Git/cmd:/mnt/c/Users/idobarkan/.cargo/bin:/mnt/c/Users/idobarkan/AppData/Local/Programs/Python/Python311/Scripts/:/mnt/c/Users/idobarkan/AppData/Local/Programs/Python/Python311/:/mnt/c/Users/idobarkan/AppData/Local/Programs/Python/Launcher/:/mnt/c/Users/idobarkan/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/idobarkan/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/JetBrains/PyCharm 2023.1.4/bin:/mnt/c/Program Files/CMake/bin:/mnt/c/Users/idobarkan/.dotnet/tools:/mnt/c/Program Files/Neovim/bin:/mnt/c/Users/idobarkan/AppData/Local/Programs/oh-my-posh/bin:/mnt/c/Users/idobarkan/AppData/Roaming/npm:/mnt/c/Users/idobarkan/AppData/Roaming/nvm:/mnt/c/Program Files/nodejs:/snap/bin'
Container: None
[2253 ms] Start: Run in Host: wslpath -w /run/user/1000/wayland-0
[2262 ms] Start: Check Docker is running
[2262 ms] Start: Run: docker version --format {{.Server.APIVersion}}
[2586 ms] Server API version: 1.43
[2587 ms] Start: Run: docker volume ls -q
[2820 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=vsch.quality=stable
[3145 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json
[3403 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node
[3620 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node
[3866 ms] Start: Run: C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js read-configuration --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --mount-workspace-git-root true
[4568 ms] @devcontainers/cli 0.46.0. Node.js v16.17.1. win32 10.0.22621 x64.
[4568 ms] Start: Run: git rev-parse --show-cdup
[4689 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json
[5427 ms] Start: Run: C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\idobarkan\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-c676a5ee-d8e3-442a-b4f0-ceccaa557e7b1690281989355 --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,target=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[5867 ms] @devcontainers/cli 0.46.0. Node.js v16.17.1. win32 10.0.22621 x64.
[5867 ms] Start: Run: docker buildx version
[7017 ms] github.com/docker/buildx v0.11.0 687feca9e8dcd1534ac4c026bc4db5a49de0dd6e
[7017 ms] 
[7017 ms] Start: Resolving Remote
[7021 ms] Start: Run: git rev-parse --show-cdup
[7435 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json
[7683 ms] Start: Run: docker inspect --type image mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye
[7924 ms] local container features stored at: c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\node_modules\vscode-dev-containers\container-features
[7928 ms] Start: Run: tar --no-same-owner -x -f -
[8021 ms] Start: Run: docker events --format {{json .}} --filter event=start
[8041 ms] Start: Starting container
[8042 ms] Start: Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=c:\Users\idobarkan\code\vscode-remote-try-node,target=/workspaces/vscode-remote-try-node,consistency=cached --mount type=volume,src=vscode,dst=/vscode --mount type=bind,src=\\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,dst=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock -l devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node -l devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --entrypoint /bin/sh -l devcontainer.metadata=[{"id":"ghcr.io/devcontainers/features/common-utils:2"},{"id":"ghcr.io/devcontainers/features/git:1"},{"id":"ghcr.io/devcontainers/features/node:1","customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}}},{"customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"},{"postCreateCommand":"yarn install","customizations":{"vscode":{"settings":{},"extensions":["streetsidesoftware.code-spell-checker"]}},"portsAttributes":{"3000":{"label":"Hello Remote World","onAutoForward":"notify"}}}] mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye -c echo Container started
docker: Error response from daemon: \\wsl.localhost\Ubuntu-22.04\run\user\1000\w
ayland-0%!(EXTRA string=is not a valid Windows path).
See 'docker run --help'.
[15069 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --filter label=devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json
[15354 ms] Error: Command failed: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=c:\Users\idobarkan\code\vscode-remote-try-node,target=/workspaces/vscode-remote-try-node,consistency=cached --mount type=volume,src=vscode,dst=/vscode --mount type=bind,src=\\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,dst=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock -l devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node -l devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --entrypoint /bin/sh -l devcontainer.metadata=[{"id":"ghcr.io/devcontainers/features/common-utils:2"},{"id":"ghcr.io/devcontainers/features/git:1"},{"id":"ghcr.io/devcontainers/features/node:1","customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}}},{"customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"},{"postCreateCommand":"yarn install","customizations":{"vscode":{"settings":{},"extensions":["streetsidesoftware.code-spell-checker"]}},"portsAttributes":{"3000":{"label":"Hello Remote World","onAutoForward":"notify"}}}] mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye -c echo Container started
[15354 ms] trap "exit 0" 15
[15354 ms] exec "$@"
[15354 ms] while sleep 1 & wait $!; do :; done -
[15354 ms]     at Mte (c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2007:1066)
[15354 ms]     at n3 (c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2007:1002)
[15354 ms]     at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
[15354 ms]     at async rre (c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2024:3660)
[15354 ms]     at async Yf (c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2024:4775)
[15354 ms]     at async Dne (c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2156:12193)
[15354 ms]     at async Sne (c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js:2156:11934)
[15377 ms] Exit code 1
[15383 ms] Command failed: C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\idobarkan\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-c676a5ee-d8e3-442a-b4f0-ceccaa557e7b1690281989355 --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,target=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[15383 ms] Exit code 1

running this exact command at the root folder returns without an error and without an apparent effect:

 C:\Users\idobarkan\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\idobarkan\.vscode\extensions\ms-vscode-remote.remote-containers-0.299.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\idobarkan\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-c676a5ee-d8e3-442a-b4f0-ceccaa557e7b1690281989355 --workspace-folder c:\Users\idobarkan\code\vscode-remote-try-node --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\idobarkan\code\vscode-remote-try-node --id-label devcontainer.config_file=c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\idobarkan\code\vscode-remote-try-node\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\\wsl.localhost\Ubuntu-22.04\run\user\1000\wayland-0,target=/tmp/vscode-wayland-aab9b8c4-835b-4b82-8a96-62877209174d.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true

devcontainer fails

Hi

I succeed to run my container locally and even inside VScode when I go to containers-> Other Containers -> Start Container
But when I start my container in Dev Container I have execption:
Exception: Java gateway process exited before sending its port number

It seems like a pure VScode dev container problem.
Please find attached my code. It is simple demo application.
python-spark-pi.zip

Where is the --mount?

[2022-07-29T06:08:25.202Z] Step 1/10 : ARG BASE_IMAGE
[2022-07-29T06:08:25.202Z]
Step 2/10 : FROM $BASE_IMAGE
[2022-07-29T06:08:25.202Z] ---> 59761c125365
[2022-07-29T06:08:25.202Z] Step 3/10 : USER root
[2022-07-29T06:08:25.203Z] ---> Using cache
[2022-07-29T06:08:25.203Z] ---> 08fc28be8e66
Step 4/10 : ARG REMOTE_USER
[2022-07-29T06:08:25.204Z] ---> Using cache
[2022-07-29T06:08:25.204Z] ---> e958c639e816
Step 5/10 : ARG NEW_UID
[2022-07-29T06:08:25.204Z]
[2022-07-29T06:08:25.204Z] ---> Using cache
[2022-07-29T06:08:25.204Z] ---> 748144a7871c
Step 6/10 : ARG NEW_GID
[2022-07-29T06:08:25.205Z] ---> Using cache
[2022-07-29T06:08:25.205Z] ---> ffda38213768
Step 7/10 : SHELL ["/bin/sh", "-c"]
[2022-07-29T06:08:25.206Z] ---> Using cache
[2022-07-29T06:08:25.206Z] ---> d4bd80963dbc
Step 8/10 : RUN eval $(sed -n "s/${REMOTE_USER}:[^:]:([^:]):([^:]):[^:]:([^:])./OLD_UID=\1;OLD_GID=\2;HOME_FOLDER=\3/p" /etc/passwd); eval $(sed -n "s/([^:]):[^:]:${NEW_UID}:./EXISTING_USER=\1/p" /etc/passwd); eval $(sed -n "s/([^:]):[^:]:${NEW_GID}:./EXISTING_GROUP=\1/p" /etc/group); if [ -z "$OLD_UID" ]; then echo "Remote user not found in /etc/passwd ($REMOTE_USER)."; elif [ "$OLD_UID" = "$NEW_UID" -a "$OLD_GID" = "$NEW_GID" ]; then echo "UIDs and GIDs are the same ($NEW_UID:$NEW_GID)."; elif [ "$OLD_UID" != "$NEW_UID" -a -n "$EXISTING_USER" ]; then echo "User with UID exists ($EXISTING_USER=$NEW_UID)."; elif [ "$OLD_GID" != "$NEW_GID" -a -n "$EXISTING_GROUP" ]; then echo "Group with GID exists ($EXISTING_GROUP=$NEW_GID)."; else echo "Updating UID:GID from $OLD_UID:$OLD_GID to $NEW_UID:$NEW_GID.";
[2022-07-29T06:08:25.206Z] sed -i -e "s/(${REMOTE_USER}:[^:]:)[^:]:[^:]/\1${NEW_UID}:${NEW_GID}/" /etc/passwd; if [ "$OLD_GID" != "$NEW_GID" ]; then sed -i -e "s/([^:]:[^:]*:)${OLD_GID}:/\1${NEW_GID}:/" /etc/group; fi; chown -R $NEW_UID:$NEW_GID $HOME_FOLDER; fi;
[2022-07-29T06:08:25.206Z] ---> Using cache
[2022-07-29T06:08:25.206Z] ---> a3e4a363067a
Step 9/10 : ARG IMAGE_USER
[2022-07-29T06:08:25.207Z] ---> Using cache
[2022-07-29T06:08:25.207Z] ---> 6c16a26c5a40
Step 10/10 : USER $IMAGE_USER
[2022-07-29T06:08:25.208Z] ---> Using cache
[2022-07-29T06:08:25.208Z] ---> 7777a875b576
[2022-07-29T06:08:25.222Z] Successfully built 7777a875b576
[2022-07-29T06:08:25.225Z] Successfully tagged vsc-vscode-remote-try-python-main-16c152c2a8dd91594db8d361180c6426-uid:latest
[2022-07-29T06:08:25.227Z] Stop (6003 ms): Run: docker build -f /tmp/vsch-yyq/updateUID.Dockerfile-0.241.3 -t vsc-vscode-remote-try-python-main-16c152c2a8dd91594db8d361180c6426-uid --build-arg BASE_IMAGE=vsc-vscode-remote-try-python-main-16c152c2a8dd91594db8d361180c6426 --build-arg REMOTE_USER=vscode --build-arg NEW_UID=1000 --build-arg NEW_GID=1000 --build-arg IMAGE_USER=root /tmp/vsch-yyq
[2022-07-29T06:08:25.228Z] Start: Run: docker -v
[2022-07-29T06:08:25.246Z] Stop (18 ms): Run: docker -v
[2022-07-29T06:08:25.246Z] Start: Run: docker events --format {{json .}} --filter event=start
[2022-07-29T06:08:25.248Z] Start: Starting container
[2022-07-29T06:08:25.248Z] Start: Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main,target=/workspaces/vscode-remote-try-python-main --mount type=volume,src=vscode,dst=/vscode -l devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main --entrypoint /bin/sh vsc-vscode-remote-try-python-main-16c152c2a8dd91594db8d361180c6426-uid -c echo Container started
[2022-07-29T06:08:25.270Z] docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /app/yyq/slifeProjectVscode/vscode-remote-try-python-main.
See 'docker run --help'.
[2022-07-29T06:08:25.271Z] Stop (23 ms): Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main,target=/workspaces/vscode-remote-try-python-main --mount type=volume,src=vscode,dst=/vscode -l devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main --entrypoint /bin/sh vsc-vscode-remote-try-python-main-16c152c2a8dd91594db8d361180c6426-uid -c echo Container started
[2022-07-29T06:08:25.272Z] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main
[2022-07-29T06:08:25.274Z] Stop (28 ms): Run: docker events --format {{json .}} --filter event=start
[2022-07-29T06:08:25.291Z] Stop (19 ms): Run: docker ps -q -a --filter label=devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main
[2022-07-29T06:08:25.292Z] Error: Command failed: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main,target=/workspaces/vscode-remote-try-python-main --mount type=volume,src=vscode,dst=/vscode -l devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main --entrypoint /bin/sh vsc-vscode-remote-try-python-main-16c152c2a8dd91594db8d361180c6426-uid -c echo Container started
[2022-07-29T06:08:25.292Z] trap "exit 0" 15
[2022-07-29T06:08:25.293Z] exec "$@"
[2022-07-29T06:08:25.293Z] while sleep 1 & wait $!; do :; done -
[2022-07-29T06:08:25.293Z] at HR (/home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js:239:2183)
[2022-07-29T06:08:25.293Z] at tb (/home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js:239:2121)
[2022-07-29T06:08:25.293Z] at processTicksAndRejections (node:internal/process/task_queues:96:5)
[2022-07-29T06:08:25.293Z] at async QR (/home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js:245:2006)
[2022-07-29T06:08:25.293Z] at async cb (/home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js:245:3110)
[2022-07-29T06:08:25.293Z] at async i_ (/home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js:245:13194)
[2022-07-29T06:08:25.293Z] at async n_ (/home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js:245:12950)
[2022-07-29T06:08:25.296Z] Stop (6981 ms): Run: /usr/share/code/code /home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/yyq/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --workspace-folder /app/yyq/slifeProjectVscode/vscode-remote-try-python-main --workspace-mount-consistency cached --id-label devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main --log-level debug --log-format json --config /app/yyq/slifeProjectVscode/vscode-remote-try-python-main/.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
[2022-07-29T06:08:25.296Z] Exit code 1
[2022-07-29T06:08:25.299Z] Command failed: /usr/share/code/code /home/yyq/.vscode/extensions/ms-vscode-remote.remote-containers-0.241.3/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/yyq/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --workspace-folder /app/yyq/slifeProjectVscode/vscode-remote-try-python-main --workspace-mount-consistency cached --id-label devcontainer.local_folder=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main --log-level debug --log-format json --config /app/yyq/slifeProjectVscode/vscode-remote-try-python-main/.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
[2022-07-29T06:08:25.299Z] Exit code 1

**How to solve this problem? I want to change --mount to -v, but I can not find --mount.

My local path is correct. (source=/app/yyq/slifeProjectVscode/vscode-remote-try-python-main)
**

How to enable pytest?

I was trying to setup pytest as described here. Additionally, I have used this repos devcontainer.json to run everythin in a dev container in WSL2. However it is not able to find pytest. Where does pytest need to be installed? I was expecting it to be in the container.

// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/python-3
{
	"name": "My Lib",
	"image": "mcr.microsoft.com/vscode/devcontainers/python:3.8",

	// Set *default* container specific settings.json values on container create.
	"settings": { 
		"terminal.integrated.shell.linux": "/bin/bash",
		"python.pythonPath": "/usr/local/bin/python",
		"python.linting.enabled": true,
		"python.linting.pylintEnabled": true,
		"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
		"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
		"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
		"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
		"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
		"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
		"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
		"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
		"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint",
		"python.testing.pytestEnabled": true
	}

	// Add the IDs of extensions you want installed when the container is created.
	"extensions": [
		"ms-python.python"
	],

	// Use 'postCreateCommand' to run commands after the container is created.
	"postCreateCommand": "pip3 install . pytest"
}

Unable to install ipykernel into this python environment

I've tried the following commands to install ipykernel into the python env and both fail

vscode ➜ /workspaces/xyz (main) $ /usr/local/bin/python -m pip install -U --user ipykernel
ERROR: Can not combine '--user' and '--target'
WARNING: You are using pip version 22.0.4; however, version 22.3.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
vscode ➜ /workspaces/xyz (main) $ /usr/local/bin/python -m pip install -U ipykernel 
Collecting ipykernel
  Downloading ipykernel-6.17.1-py3-none-any.whl (138 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 138.6/138.6 kB 6.5 MB/s eta 0:00:00
Collecting jupyter-client>=6.1.12
  Downloading jupyter_client-7.4.8-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.5/133.5 kB 9.9 MB/s eta 0:00:00
Collecting psutil
  Downloading psutil-5.9.4.tar.gz (485 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 485.8/485.8 kB 11.4 MB/s eta 0:00:00
  Installing build dependencies ... error
  error: subprocess-exited-with-error
  
  Γ— pip subprocess to install build dependencies did not run successfully.
  β”‚ exit code: 1
  ╰─> [7 lines of output]
      Collecting setuptools>=43
        Downloading setuptools-65.6.3-py3-none-any.whl (1.2 MB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 11.2 MB/s eta 0:00:00
      Collecting wheel
        Downloading wheel-0.38.4-py3-none-any.whl (36 kB)
      Installing collected packages: wheel, setuptools
      ERROR: Cannot set --home and --prefix together
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

Γ— pip subprocess to install build dependencies did not run successfully.
β”‚ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

File Sync Between Local Computer and Host

Hello,
I was setting up the VS Code remote development environment on a remote host. It seems that it is working. However, I do have some questions.
According to the blog post Advanced Container Configuration, it seems that VS Code will not automatically sync the files between the local computer and the host. When I start the remote working environment, the files and scripts would not show up in the VS Code during development. We would always have to manually copy the files between the local computer and the host after the development is finished. Is my understanding correct? Thank you very much.
Best,
Lei

test

δ»…δ»…ζ˜―δΈ€δΈͺζ΅‹θ―•

Large docker image build time and dev container size

Context

Presently Visual Studio Code takes quite some time to build the dev container image from the Dockerfile. The spun up dev container is as large as ~990 MB. Therefore there is a need for Dockerfile optimization.

...line 23 in the dockerfile...

At line 23 in the dockerfile, there is a line that uses rm -rf. THIS IS NOT CONTAINER SAFE ON WINDOWS. Sorry for the caps, but I watched a grown man (for whom I was trying in vein to recover a filesystem) brought to literal tears in front of a stranger on the internet (me) for making this mistake. Sometimes it doesn't recognize the virtual boundary (or else it does, but the --force tells it to keep going.) For whatever the reason, It hits the boundary, jumps the fence into the host system, and keeps eating. He said he shut down almost immediately, but it still ate enough disc space that the host was unrecoverable without a reflash of the Windows 10 image. Just doing my part by letting you know. G'day.

Process stuck on Installing Dev Container

Hi!

  • Host OS: Fedora 28
  • VSCode version: 1.38.1
  • Docker version: 18.09.9

The container is running with original settings. But VScode details show that process of launch stuck on phase:
Run: docker exec 1b05de03bf01fcae70f860d18c5ac5812e68507e91458bce9ff09f56a3e504a1 mkdir -p /home/vscode/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a3761284e3ffb0_1572197156087
and nothing happens.

Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.