如何解决有没有办法在 VSCode Devcontainers 中调试 PostCreateCommand?
我目前遇到了这个问题:
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
运行时成功执行 bash
shell 脚本。
-
我已经尝试使用
python:3.8-slim-buster
Docker 映像,并在non-root
中设置了Dockerfile
用户。 -
我已将以下内容添加到
./.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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。