flathub / flathub/com.visualstudio.code
Cannot build devcontainers features
- 主要语言
- 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