Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
seanpk opened this issue Mar 18, 2024 · 0 comments
Open

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

seanpk opened this issue Mar 18, 2024 · 0 comments

Comments

@seanpk
Copy link

seanpk commented Mar 18, 2024

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:

flatpak override --user --filesystem=/run/docker.sock com.visualstudio.code

Changed the paths to docker and docker-compose in my settings.json, i.e.:

    "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:

$ /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:

    "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

#!/bin/bash

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

/usr/local/bin/in-flatpak-do-host-spawn_docker-compose

#!/bin/bash

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

But then the devcontainer startup process seems to hang here:

[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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant