flathub / flathub/com.visualstudio.code
devcontainer will not start: 'buildx' is not a docker command
- Dominant language
- Shell
- Stars
- 217
- Forks
- 82
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 1
Description
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
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.