4

这可能是有史以来最愚蠢的问题,但我找不到简单的方法。

我成功地将 VSCode 附加到我机器中正在运行的容器中。但是现在,每次我打开 VSCode 时,它​​都会自动附加到该容器。有什么方法可以分离它并打开 VSCode?

编辑:如您所见,每次我打开 VSCode 内部人员时,它都会自动附加到正在运行的容器中。如果容器停止,它甚至会启动容器

在此处输入图像描述

这是我在尝试运行与远程容器相关的命令时看到的菜单。我已连接到正在运行的 docker 容器,并且如果未连接到该容器,则无法重新打开该文件夹。

没有重新打开未附加到正在运行的容器的文件夹

是的,我正在使用远程开发扩展包+ VSCode Insiders 1.35

这些是我机器上的 VSCode Remote、Node 和其他相关软件组件的版本

在此处输入图像描述

那么,我怎样才能在不删除容器+图像的情况下从该容器中分离 VSCode 内部人员呢?

4

2 回答 2

0

也许命令Remote-Containers: Reopen Folder Locally就是你要找的。

于 2019-05-21T14:44:40.960 回答
0

这样做的方法是关闭工作区文件夹 - 这将完全分离正在运行的容器并关闭现有项目。

下一步是重新打开本地源代码文件夹。有文件夹调用 .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"
}

删除它也会分离一个正在运行的容器——您甚至可以将 docker 容器修改为您想要的容器并再次重建它。

于 2020-06-23T17:55:13.900 回答