gpt4 book ai didi

docker - 有没有办法在 VSCode Devcontainers 中调试 PostCreateCommand?

转载 作者:行者123 更新时间:2023-12-05 02:45:35 25 4
gpt4 key购买 nike

我目前遇到这个问题:

Command failed: /bin/sh -c ./.devcontainer/postCreateCommand.sh

这是

    "postCreateCommand": "./.devcontainer/postCreateCommand.sh",

来自 devcontainer.json 的设置。

但是当我停用“postCreateCommand”并在创建容器后手动运行它时,该脚本有效。这让我想到,问题可能出在脚本的路径上。但事实也并非如此。因为只有一个 echo 命令的空脚本似乎可以工作。

脚本如下:

echo "Installing Developer Requirements"

apt-get update && apt-get install -y man git
pip3 install -r .devcontainer/dev_pip_requirements.txt

关于如何调试 "PostCreateCommand" 有什么想法吗?输出没有多大帮助,我不想开始将这个项目缩减为最小的工作示例。

我更改了 git 以在 Windows 上检查所有以 linux 文件结尾的文件。我三重检查了 shell 脚本是否有 LF 结尾。所以这些也不应该成为问题。 (他们以前是)。

最佳答案

我认为一个原因可能是用户没有足够的权限甚至无法执行 apt-get update 命令。

remoteUser 更改为 root,在 devcontainer.json 配置文件中应该允许执行 postCreateCommand.sh shell 脚本在使用 bash 运行时成功。

  • 我已经尝试使用 python:3.8-slim-buster Docker 镜像,在 Dockerfile 中设置了一个 non-root 用户

  • 我已将以下内容添加到 ./.devcontainer/devcontainer.json:

    "postCreateCommand": "bash ./.devcontainer/postCreateCommand.sh",
    "remoteUser": "root",
  • 我使用了以下 ./.devcontainer/postCreateCommand.sh:

    #!/usr/bin/env bash

    set -ex

    apt-get update && apt-get install -y man git && rm -rf /var/lib/apt/lists/*

    pip install --requirement ./.devcontainer/dev_pip_requirements.txt

一般来说,root 不推荐用于生产环境。

这里是关于postCreateCommand的更多信息

关于docker - 有没有办法在 VSCode Devcontainers 中调试 PostCreateCommand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65909781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com