flathub / flathub/com.visualstudio.code

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

Abierto
#508 0 comentarios 3 reacciones 0 asignados Ver en GitHub
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.