【问题标题】:Why does container stop when closing VSCode window although "shutdownAction" is set to "none"?为什么在关闭 VSCode 窗口时容器会停止,尽管 \"shutdownAction\" 设置为 \"none\"?
【发布时间】:2022-10-13 03:31:59
【问题描述】:

我使用 VSCode 1.63.2 通过 Ubuntu 20.04 SSH 连接到远程机器,然后在 Docker 容器内处理项目。每当我在容器中执行 Python 脚本时关闭 VSCode 窗口时,它都会停止所有终端进程。当我重新连接到容器时,我看到一个 Python 终端显示 Session contents restored from <date> at <time> 和脚本的输出,直到我从容器断开连接的那一刻。但是,我希望容器在我关闭 VSCode 或关闭本地计算机时继续运行。

到目前为止我尝试过的事情:首先,我在远程机器上克隆了我的 GitHub 存储库,并使用以下 Dockerfile 构建了一个 Docker 映像

FROM python:3.8-bullseye
RUN pip install -U pip setuptools wheel &&\
    useradd -m -r fabioklr
WORKDIR /home/fabioklr/masterthesis
RUN chown -R fabioklr .
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .
ARG GIT_HASH
ENV GIT_HASH=${GIT_HASH:-dev}
USER fabioklr
RUN git config --global init.defaultBranch main &&\
    git init &&\
    git remote add origin <url-to-remote-repo>

然后我为图像运行docker build .,运行docker run -dit &lt;image-name:tag&gt; /bin/bash 来启动容器,并使用Remote-Containers: Attach to Running Container 命令将VSCode 附加到容器。

其次,我在没有自定义 Dockerfile 和命令行的情况下进行了尝试。我在远程机器上打开了我的项目文件夹,从命令面板中选择了Remote-Containers: Open Folder in Container 命令和Python 3 基本图像。 VSCode 自动完成了其余的工作,但我仍然遇到了同样的问题。

第三,我使用相同的Open Folder in Container command 进行了尝试,但使用了上面的 Dockerfile 和自定义 devcontainer.json 文件,我在其中指定了"shutdownAction: "none",因为它在VSCode Docs 中说此设置应该可以防止我的问题。

指示 VS Code 和其他 devcontainer.json 支持工具是否应该在相关工具窗口关闭/关闭时停止容器。 值为 none、stopContainer(图像或 Dockerfile 的默认值)和 stopCompose(Docker Compose 的默认值)。

由于post 使用nohup,我设法用VSCode 解决了这个问题,但这对于我的工作流程来说并不理想。另外,这个问题特别奇怪,因为我几周前没有遇到它。我错过了什么还是这是一个问题?谢谢!

【问题讨论】:

    标签: python docker visual-studio-code


    【解决方案1】:

    另外,这个问题特别奇怪,因为我没有遇到 几周前。

    你好, 升级后听起来有点像问题。 您是否尝试过降级ms-vscode-remote.remote-containers扩大? (右键单击-> 安装另一个版本)。

    我在用v0.245.2"shutdownAction": "none" 让我的容器在 VS Code 关闭时保持运行。

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多