flathub / flathub/com.visualstudio.code

devcontainer will not start: 'buildx' is not a docker command

Đang mở
#508 0 bình luận 3 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Shell
Star
217
Fork
82
Merge trung bình
1 ngày 7 giờ
Pull request đã merge (30 ngày)
1

Mô tả

It would be good to improve the documentation and the default experience for using devcontainers. I've made progress, but it doesn't seem like I have a working setup yet.

I have done the following in the process of trying to make it work in the flatpak (which appear to all be necessary to have got to this point):

Exposed `/run/docker.sock` to the container with:
```sh
flatpak override --user --filesystem=/run/docker.sock com.visualstudio.code
```

Changed the paths to `docker` and `docker-compose` in my `settings.json`, i.e.:
```json
"dev.containers.dockerComposePath": "/run/host/usr/bin/docker-compose",
"dev.containers.dockerPath": "/run/host/usr/bin/docker",
```

But the devcontainer will not start because it cannot find `buildx`:
```
[918 ms] @devcontainers/cli 0.56.2. Node.js v18.17.1. linux 6.8.1-arch1-1 x64.
[918 ms] Start: Run: /run/host/usr/bin/docker buildx version
[931 ms]
[931 ms] docker: 'buildx' is not a docker command.
See 'docker --help'

[931 ms] Exit code 1
```

I've also tried adding a link from `/usr/bin` to `docker-buildx` (there was already one there for `docker-compose`).

If I open an integrated terminal, I can reproduce the failure with:
```sh
$ /run/host/bin/docker buildx version
docker: 'buildx' is not a docker command.
See 'docker --help'
```

And then I got it to work by creating scripts in `/usr/local/bin` that I point to in my `settings.json`:
```json
"dev.containers.dockerComposePath": "/run/host/usr/local/bin/in-flatpak-do-host-spawn_docker-compose",
"dev.containers.dockerPath": "/run/host/usr/local/bin/in-flatpak-do-host-spawn_docker",
```

The file contents are as follows:
`/usr/local/bin/in-flatpak-do-host-spawn_docker`
```bash
#!/bin/bash

/app/bin/host-spawn docker "$@"
```

`/usr/local/bin/in-flatpak-do-host-spawn_docker-compose`
```bash
#!/bin/bash

/app/bin/host-spawn docker-compose "$@"
```

But then the devcontainer startup process seems to hang here:
```sh
[1650 ms] Start: Run: /run/host/usr/local/bin/in-flatpak-do-host-spawn_docker-compose --project-name 28th-ces_devcontainer -f /home/sean/Making/RoleModel/28th-ces/.devcontainer/docker-compose.yml -f /home/sean/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data/docker-compose/docker-compose.devcontainer.build-1710714627644.yml -f /home/sean/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data/docker-compose/docker-compose.devcontainer.containerFeatures-1710714765504.yml up -d --no-recreate
[+] Running 3/3
✔ Container 28th-ces_devcontainer-app-1 Started 0.0s
✔ Container 28th-ces_devcontainer-db-1 Running 0.0s
✔ Container 28th-ces_devcontainer-cache-1 Running 0.0s
[1985 ms] Start: Run: /run/host/usr/local/bin/in-flatpak-do-host-spawn_docker ps -q -a --filter label=com.docker.compose.project=28th-ces_devcontainer --filter label=com.docker.compose.service=app
[2021 ms] Start: Run: /run/host/usr/local/bin/in-flatpak-do-host-spawn_docker inspect --type container ab765af91650
[2062 ms] Start: Inspecting container
[2062 ms] Start: Run: /run/host/usr/local/bin/in-flatpak-do-host-spawn_docker inspect --type container ab765af916503e0639de70401328005369601b9e56890d74a52c0a9fab5e9139
[2104 ms] Start: Run in container: /bin/sh
[2112 ms] Start: Run in container: uname -m
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start with the Flatpak overrides and the paths in settings.json, then reproduce the reported `docker buildx version` failure. Review `.devcontainer/docker-compose.yml` and the documented host-spawn scripts. Done means a devcontainer starts successfully in the Flatpak without the reported buildx error or startup hang.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
docker, docker-compose, shell, vscode
Lĩnh vực
desktop, devops, tooling
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.