Как отсоединить VSCode от работающего контейнера?

Это, наверное, самый глупый вопрос, но я не могу найти простого способа сделать это.

Я успешно подключил VSCode к работающему контейнеру на моем компьютере. Но теперь, каждый раз, когда я открываю VSCode, он автоматически прикрепляется к этому контейнеру. Есть ли способ отсоединить его и просто открыть VSCode?

РЕДАКТИРОВАТЬ. Как видите, каждый раз, когда я открываю инсайдеров VSCode, он автоматически прикрепляется к работающему контейнеру. Он даже запускает контейнер, если он остановлен

введите здесь описание изображения

Это меню, которое я вижу, когда пытаюсь запустить команды, связанные с удаленными контейнерами. Я привязан к работающему контейнеру докера и не могу повторно открыть папку, не будучи привязанным к этому контейнеру.

Папка, не привязанная к работающему контейнеру, не открывается повторно

Да, я использую пакет расширений для удаленной разработки + Инсайдеры VSCode 1.35

Это версии VSCode Remote, Node и других соответствующих программных компонентов на моем компьютере.

введите здесь описание изображения

Итак, как я мог просто отсоединить инсайдера VSCode от этого контейнера, не удаляя контейнер + изображение?


person Jorge Arévalo    schedule 16.05.2019    source источник


Ответы (2)


Может быть, команда Remote-Containers: Reopen Folder Locally - это то, что вы ищете.

person makons    schedule 21.05.2019
comment
У меня нет такой возможности :-(. Используя VSCode insider 1.35 - person Jorge Arévalo; 22.05.2019
comment
Судя по вашему тегу, я предполагаю, что вы используете расширение удаленной разработки. В настоящее время это поддерживается только для внутренней версии VSCode, поэтому вы можете иметь в виду версию 1.35.0-insider, которую я также использую. Если все сказанное верно, вы сможете открыть поиск команд с помощью F1 и найти команду Remote-Containers: Reopen Folder Locally. Если это не так, не могли бы вы рассказать немного подробнее. - person makons; 28.05.2019
comment
Спасибо! Да, я использую это расширение. И нет, я не вижу такой возможности. Я добавил несколько скриншотов для пояснения. - person Jorge Arévalo; 28.05.2019

Это можно сделать, закрыв папку рабочей области - это полностью отсоединит работающий контейнер и закроет существующий проект.

Следующим шагом будет повторное открытие локальной папки исходного кода. Существует вызов папки .devcontainer, который содержит файл devcontainer.json -

// 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.122.1/containers/ubuntu
{
    "name": "Ubuntu",
    "build": {
        "dockerfile": "Dockerfile",
        // Update 'VARIANT' to pick an Ubuntu version. Rebuild the container 
        // if it already exists to update. Available variants: 18.04, 20.04
        "args": { "VARIANT": "18.04" }
    },

    // Set *default* container specific settings.json values on container create.
    "settings": { 
        "terminal.integrated.shell.linux": "/bin/bash"
    },

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

    // Use 'forwardPorts' to make a list of ports inside the container available locally.
    // "forwardPorts": [],

    // Use 'postCreateCommand' to run commands after the container is created.
    // "postCreateCommand": "uname -a",

    // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
    // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],

    // Uncomment when using a ptrace-based debugger like C++, Go, and Rust
    // "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],

    // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
    // "remoteUser": "vscode"
}

Удаление этого также приведет к отсоединению работающего контейнера - вы даже можете изменить контейнер докера на тот, который вам нужен, и перестроить его снова.

person Magnus Melwin    schedule 23.06.2020