flathub / flathub/com.visualstudio.code

Cannot build devcontainers features

未关闭
#605 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Shell
星标
217
派生
82
平均合并
1 天 7 小时
30 天内合并 PR
1

描述

When using vscode on Flatpak with podman and devcontainers as suggested [here](https://gist.github.com/FilBot3/4424d312a87f7b4178722d3b5eb20212), builing of [devcontainer feature](https://code.visualstudio.com/docs/devcontainers/containers#_dev-container-features) fails.

The cause is that this involves building a container image with a build context which is not shared with the host:

```
[1/2] STEP 3/4: COPY --from=dev_containers_feature_content_source devcontainer-features.builtin.env /tmp/build-features/
Error: building at STEP "COPY --from=dev_containers_feature_content_source devcontainer-features.builtin.env /tmp/build-features/": checking on sources under "/tmp/devcontainercli-user/container-features/0.79.0-1753825289342": error in copier subprocess: changing to intended-new-root directory "/tmp/devcontainercli-user/container-features/0.79.0-1753825289342": chdir /tmp/devcontainercli-user/container-features/0.79.0-1753825289342: no such file or directory
Stop (729 ms): Run: podman-remote buildx build --load --build-context dev_containers_feature_content_source=/tmp/devcontainercli-user/container-features/0.79.0-1753825289342 --no-cache --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1-1.23-bookworm --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -f /tmp/devcontainercli-user/container-features/0.79.0-1753825289342/Dockerfile.extended -t vsc-mycode-e878bb43015990a9f48c5b2226813a3b60f7a9ab826928aad91c912747c3bc3c-features /var/home/user/.var/app/com.visualstudio.code/config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data/empty-folder
Error: Command failed: podman-remote buildx build --load --build-context dev_containers_feature_content_source=/tmp/devcontainercli-user/container-features/0.79.0-1753825289342 --no-cache --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1-1.23-bookworm --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -f /tmp/devcontainercli-user/container-features/0.79.0-1753825289342/Dockerfile.extended -t vsc-mycode-e878bb43015990a9f48c5b2226813a3b60f7a9ab826928aad91c912747c3bc3c-features /var/home/user/.var/app/com.visualstudio.code/config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data/empty-folder
```

Here, the failing command is:

```bash
podman-remote buildx build --load \
--build-context dev_containers_feature_content_source=/tmp/devcontainercli-user/container-features/0.79.0-1753825289342 \
--no-cache \
--build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1-1.23-bookworm \
--build-arg _DEV_CONTAINERS_IMAGE_USER=root \
--build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp \
--target dev_containers_target_stage \
-f /tmp/devcontainercli-user/container-features/0.79.0-1753825289342/Dockerfile.extended \
-t vsc-mycode-e878bb43015990a9f48c5b2226813a3b60f7a9ab826928aad91c912747c3bc3c-features \
/var/home/user/.var/app/com.visualstudio.code/config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data/empty-folder
```

and it fails because the build context is not accessible from the host, where podman is running.

贡献指南

这个仓库没有索引到贡献指南

调研方向

首先使用 Podman 和所示的 podman-remote buildx 命令复现报告中的 VS Code Flatpak 设置。调查为什么 /tmp/devcontainercli-user/container-features/... 对主机端的 Podman 构建不可用,而 Dockerfile 和构建上下文却是从 Flatpak 环境传递过来的。在此设置中成功构建 dev container features 即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
shell, vscode
领域
devops
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。