flathub / flathub/com.visualstudio.code
devcontainer will not start: 'buildx' is not a docker command
- Lenguaje dominante
- Shell
- Estrellas
- 217
- Forks
- 82
- Merge medio
- 1 d 7 h
- PR fusionados (30 d)
- 1
Descripción
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
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza por los overrides de Flatpak y las rutas de settings.json, y luego reproduce el fallo reportado de `docker buildx version`. Revisa `.devcontainer/docker-compose.yml` y los scripts documentados para iniciar procesos en el host. Se considera terminado cuando un devcontainer se inicia correctamente en Flatpak sin el error de buildx reportado ni quedarse bloqueado durante el arranque.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- docker, docker-compose, shell, vscode
- Área
- desktop, devops, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100