Skip to content

DDEV + docker-compose dependence on buildx needs to be explicit and checked #8117

@rfay

Description

@rfay

Preliminary checklist

Output of ddev utility test or ddev utility diagnose

Expand `ddev utility test` diagnostic information


======== Output file will be in /var/folders/g8/6q68xfgn0hvgslw2r0t7jpzc0000gn/T/ddev-debug-test.txt ========


======== docker pull ddev/ddev-utilities ========


======== DDEV version ========
 ITEM              VALUE                                   
 DDEV version      v1.25.0                                 
 architecture      arm64                                   
 cgo_enabled       0                                       
 db                ddev/ddev-dbserver-mariadb-11.8:v1.25.0 
 ddev-environment  darwin                                  
 ddev-ssh-agent    ddev/ddev-ssh-agent:v1.25.0             
 docker            26.1.1                                  
 docker-api        1.45                                    
 docker-compose    v5.0.2                                  
 docker-platform   colima                                  
 global-ddev-dir   /Users/rcheesley/.ddev                  
 go-version        go1.25.6                                
 mutagen           0.18.1                                  
 os                darwin                                  
 router            ddev/ddev-traefik-router:v1.25.0        
 web               ddev/ddev-webserver:v1.25.0             
 xhgui-image       ddev/ddev-xhgui:v1.25.0                 



======== project configuration via ddev utility configyaml ========
# Complete processed project configuration:
additional_fqdns: []
additional_hostnames: []
composer_version: "2"
corepack_enable: false
database:
    type: mariadb
    version: "10.11"
default_container_timeout: "120"
docroot: ""
name: <redacted>
nodejs_version: "24"
php_version: "7.4"
project_tld: ddev.site
type: php
use_dns_when_possible: true
webimage: ddev/ddev-webserver:v1.25.0
webserver_type: nginx-fpm
xdebug_enabled: false



======== DDEV Global Information ========
Global DDEV dir is /Users/rcheesley/.ddev

addon-data-url=https://addons.ddev.com/addons.json
developer-mode=false
fail-on-hook-fail=false
instrumentation-opt-in=true
instrumentation-queue-size=0
instrumentation-reporting-interval=0s
instrumentation-user=
internet-detection-timeout-ms=3000
last-started-version=v1.25.0
letsencrypt-email=
mailpit-http-port=8025
mailpit-https-port=8026
mkcert-caroot=/Users/rcheesley/Library/Application Support/mkcert
no-bind-mounts=false
omit-containers=[]
omit-project-name-by-default=false
performance-mode=mutagen
project-tld=ddev.site
remote-config-update-interval=0
remote-config-url=https://raw.githubusercontent.com/ddev/remote-config/main/remote-config.jsonc
required-docker-compose-version=v5.0.2
router-bind-all-interfaces=false
router-http-port=80
router-https-port=443
share-default-provider=
simple-formatting=false
sponsorship-data-url=https://ddev.com/s/sponsorship-data.json
table-style=default
traefik-monitor-port=10999
use-docker-compose-from-path=false
use-hardened-images=false
use-letsencrypt=false
wsl2-no-windows-hosts-mgt=false
xdebug-ide-location=
xhgui-http-port=8143
xhgui-https-port=8142
xhprof-mode=xhgui


======== OS Information ========
Default shell: /bin/zsh
uname -a: Darwin Drop-2.local 25.2.0 Darwin Kernel Version 25.2.0: Tue Nov 18 21:07:05 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T6020 arm64


======== existing project customizations ========


======== installed DDEV add-ons ========
┌────────────┬─────────┬──────────────────────┬──────────────────────┐
│ ADD-ON     │ VERSION │ REPOSITORY           │ DATE INSTALLED       │
├────────────┼─────────┼──────────────────────┼──────────────────────┤
│ phpmyadmin │ v1.0.1  │ ddev/ddev-phpmyadmin │ 2026-02-07T21:30:37Z │
└────────────┴─────────┴──────────────────────┴──────────────────────┘



======== mutagen situation ========
looking for #ddev-generated in mutagen.yml in project /Users/rcheesley/Sites/local.redacted

unmodified #ddev-generated found in .ddev/mutagen/mutagen.yml


======== ddev installation alternate locations: ========
/opt/homebrew/bin/ddev



======== Creating dummy project named tryddevproject-26544 in ../tryddevproject-26544 ========
Creating a new DDEV project config in the current directory (/Users/rcheesley/Sites/tryddevproject-26544)
Once completed, your configuration will be written to /Users/rcheesley/Sites/tryddevproject-26544/.ddev/config.yaml

Configuring a 'php' project named 'tryddevproject-26544' with docroot 'web' at '/Users/rcheesley/Sites/tryddevproject-26544/web'.
For full details use 'ddev describe'.
Configuration complete. You may now run 'ddev start'.


======== User information (id -a) ========
uid=501(rcheesley) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae),701(com.apple.sharepoint.group.1)


======== docker provider info ========
docker client location: lrwxr-xr-x  1 rcheesley  admin  34 Nov 20 12:00 /opt/homebrew/bin/docker -> ../Cellar/docker/29.0.2/bin/docker

docker client alternate locations:
/opt/homebrew/bin/docker

Docker provider: colima


======== proxy settings ========

  HTTP_PROXY=''
  http_proxy=''
  HTTPS_PROXY=''
  https_proxy=''
  NO_PROXY=''
  no_proxy=''



======== docker version ========
Client: Docker Engine - Community
 Version:           29.0.2
 API version:       1.45 (downgraded from 1.52)
 Go version:        go1.25.4
 Git commit:        8108357bcb
 Built:             Mon Nov 17 10:19:50 2025
 OS/Arch:           darwin/arm64
 Context:           colima

Server: Docker Engine - Community
 Engine:
  Version:          26.1.1
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.9
  Git commit:       ac2de55
  Built:            Tue Apr 30 11:48:47 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.31
  GitCommit:        e377cd56a71523140ca6ae87e30244719194a521
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0


======== docker context ls ========
NAME       DESCRIPTION                               DOCKER ENDPOINT                                       ERROR
colima *   colima                                    unix:///Users/rcheesley/.colima/default/docker.sock   
default    Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                           

DOCKER_HOST=notset
DOCKER_CONTEXT=notset
DOCKER_DEFAULT_PLATFORM=notset
colima version 0.9.1
time="2026-02-07T22:49:47Z" level=info msg="colima is running using QEMU"
time="2026-02-07T22:49:47Z" level=info msg="arch: aarch64"
time="2026-02-07T22:49:47Z" level=info msg="runtime: docker"
time="2026-02-07T22:49:47Z" level=info msg="mountType: sshfs"
time="2026-02-07T22:49:47Z" level=info msg="docker socket: unix:///Users/rcheesley/.colima/default/docker.sock"
time="2026-02-07T22:49:47Z" level=info msg="containerd socket: unix:///Users/rcheesley/.colima/default/containerd.sock"


======== ddev utility dockercheck ========
Docker platform: colima
Colima version: 0.9.1
docker buildx version docker: unknown command: docker buildx

Run 'docker --help' for more information
Using Docker context: colima
Using Docker host: unix:///Users/rcheesley/.colima/default/docker.sock
docker-compose: v5.0.2
Docker version: 26.1.1
Docker API version: 1.45
Able to run simple container that mounts a volume.
Able to use internet inside container.
Docker authentication is configured correctly

Docker disk space:
Filesystem                Size      Used Available Use% Mounted on
overlay                  95.8G     62.3G     33.5G  65% /


======== Existing docker containers ========
CONTAINER ID   IMAGE          COMMAND                  CREATED             STATUS                         PORTS     NAMES
fdf87474fe94   751dd046cb0f   "/bin/bash -c '/usr/…"   About an hour ago   Exited (1) About an hour ago             flamboyant_hodgkin
149802ba6d6a   751dd046cb0f   "/bin/bash -c '/usr/…"   About an hour ago   Exited (1) About an hour ago             condescending_montalcini
a43f6abcb3c2   08294a4b0809   "/bin/bash -c '/usr/…"   About an hour ago   Exited (1) About an hour ago             suspicious_jemison
1d9cc8a9d89c   6090a1d690ee   "/bin/bash -c '/usr/…"   About an hour ago   Exited (1) About an hour ago             sweet_chandrasekhar
edbe80b7b544   e82ea56971e2   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   adoring_lederberg
ce1efb28cbee   e82ea56971e2   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   tender_kalam
277d5ebca7e2   e82ea56971e2   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   heuristic_bardeen
10d68f5a788c   04a3a67e29ab   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   jovial_chatterjee
c7b5639e69d8   04a3a67e29ab   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   naughty_antonelli
74a780202186   bb4b50fecfba   "/docker-entrypoint.…"   2 hours ago         Created                                  charming_cray
91e3c3d505ef   04a3a67e29ab   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   goofy_rubin
8ed69b0e0826   bb4b50fecfba   "/docker-entrypoint.…"   2 hours ago         Created                                  gracious_herschel
2ea6921dab19   04a3a67e29ab   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   gracious_colden
0fccbaa9ac71   bb4b50fecfba   "/docker-entrypoint.…"   2 hours ago         Created                                  practical_heyrovsky
e6f1748a9313   04a3a67e29ab   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   sharp_spence
476173abb78b   04a3a67e29ab   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   condescending_edison
a510062dc3fd   751dd046cb0f   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   festive_visvesvaraya
5a70ab81591c   751dd046cb0f   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   busy_black
c99186d35699   751dd046cb0f   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   xenodochial_lalande
1796da03f96b   751dd046cb0f   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   modest_hellman
6835ba347412   751dd046cb0f   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   crazy_lalande
d8fb895f291c   6090a1d690ee   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   infallible_cori
d32ff2fa0921   6090a1d690ee   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   modest_wiles
21935e1cbaf2   517d1a2b7dd2   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   romantic_allen
a814c43e927a   ce62c2d664b9   "/docker-entrypoint.…"   2 hours ago         Created                                  magical_visvesvaraya
46208d64788f   517d1a2b7dd2   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   xenodochial_visvesvaraya
1e04cbc8d993   ce62c2d664b9   "/docker-entrypoint.…"   2 hours ago         Created                                  beautiful_snyder
a9c324b94b0e   6090a1d690ee   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   naughty_driscoll
8f3ec7c084d5   6090a1d690ee   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   affectionate_rubin
e452336ceeee   6090a1d690ee   "/bin/bash -c '/usr/…"   2 hours ago         Exited (1) 2 hours ago                   priceless_ishizaka


======== docker system df ========
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          28        8         6.976GB   4.064GB (58%)
Containers      30        0         122.9kB   122.9kB (100%)
Local Volumes   126       5         28.7GB    28.7GB (100%)
Build Cache     0         0         0B        0B

  Tips:
  1. Periodically check your Docker filesystem usage with 'docker system df'
  2. Use 'docker builder prune' to remove unused Docker build cache (it doesn't remove your data)
  3. To remove all containers and images (it doesn't remove your data):
    ```
    ddev poweroff
    docker rm -f $(docker ps -aq) || true
    docker rmi -f $(docker images -q)
    ```
    (DDEV images will be downloaded again on 'ddev start')


======== mkcert information ========
/opt/homebrew/bin/mkcert
v1.4.4
CAROOT= WSLENV= JAVA_HOME=
/Users/rcheesley/Library/Application Support/mkcert
total 16
-r--------  1 rcheesley  staff  2488 Apr 12  2023 rootCA-key.pem
-rw-r--r--  1 rcheesley  staff  1814 Apr 12  2023 rootCA.pem


======== ping attempt on ddev.site ========
PING dkdkd.ddev.site (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.095 ms

--- dkdkd.ddev.site ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.095/0.095/0.095/nan ms


======== curl information ========
/usr/bin/curl
curl 8.7.1 (x86_64-apple-darwin25.0) libcurl/8.7.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.67.1
Release-Date: 2024-03-27
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL threadsafe UnixSockets


======== ddev utility rebuild ========
Rebuilding project images without Docker cache...
Executing `/Users/rcheesley/.ddev/bin/docker-compose -f /Users/rcheesley/Sites/tryddevproject-26544/.ddev/.ddev-docker-compose-full.yaml --progress plain build web --no-cache`
time="2026-02-07T22:50:06Z" level=warning msg="Docker Compose requires buildx plugin to be installed"
 Image ddev/ddev-webserver:v1.25.0-tryddevproject-26544-built Building 
 Image ddev/ddev-webserver:v1.25.0-tryddevproject-26544-built Building 
Sending build context to Docker daemon     792B
Step 1/20 : ARG BASE_IMAGE="scratch"
Step 2/20 : FROM $BASE_IMAGE
 ---> f6c3fd37615e
Step 3/20 : SHELL ["/bin/bash", "-c"]
 ---> Running in 2a678cd2848a
 ---> Removed intermediate container 2a678cd2848a
 ---> ca25c52aa219
Step 4/20 : ARG TARGETPLATFORM
 ---> Running in 06230b86a8c2
 ---> Removed intermediate container 06230b86a8c2
 ---> f31614b7c2bd
Step 5/20 : ARG TARGETARCH
 ---> Running in 979c5190b943
 ---> Removed intermediate container 979c5190b943
 ---> 2ce711201c73
Step 6/20 : ARG TARGETOS
 ---> Running in a637daca28f0
 ---> Removed intermediate container a637daca28f0
 ---> 4f8a483c7a1c
Step 7/20 : ARG username
 ---> Running in 3e3083cf0882
 ---> Removed intermediate container 3e3083cf0882
 ---> 03cee51d547c
Step 8/20 : ARG uid
 ---> Running in e14aa3ac319d
 ---> Removed intermediate container e14aa3ac319d
 ---> 94dfadf2f569
Step 9/20 : ARG gid
 ---> Running in d5c7a146e63e
 ---> Removed intermediate container d5c7a146e63e
 ---> 8e4120a26805
Step 10/20 : ARG DDEV_PHP_VERSION
 ---> Running in d42f9c07c547
 ---> Removed intermediate container d42f9c07c547
 ---> e7d1ac40b864
Step 11/20 : ARG DDEV_DATABASE
 ---> Running in f0d4336e149d
 ---> Removed intermediate container f0d4336e149d
 ---> 3e224fb22c5e
Step 12/20 : RUN getent group tty || groupadd tty
 ---> Running in 07f72005a145
tty:x:5:
 ---> Removed intermediate container 07f72005a145
 ---> aead0a66b84e
Step 13/20 : RUN (groupadd --gid "$gid" "$username" || groupadd "$username" || true) &&     (useradd -G tty -l -m -s "/bin/bash" --gid "$username" --comment '' --uid "$uid" "$username" ||     useradd -G tty -l -m -s "/bin/bash" --gid "$username" --comment '' "$username" ||     useradd -G tty -l -m -s "/bin/bash" --gid "$gid" --comment '' "$username" ||     useradd -G tty -l -m -s "/bin/bash" --comment '' "$username")
 ---> Running in a9029bded540
groupadd: GID '20' already exists
useradd warning: rcheesley's uid 501 outside of the UID_MIN 1000 and UID_MAX 60000 range.
 ---> Removed intermediate container a9029bded540
 ---> 83c0aaa07d26
Step 14/20 : RUN mkdir -p /home/$username && chown $username /home/$username && chmod 600 /home/$username/.pgpass
 ---> Running in 28d42e732452
 ---> Removed intermediate container 28d42e732452
 ---> d94713019bc6
Step 15/20 : RUN log-stderr.sh mariadb-compat-install.sh || true
 ---> Running in c4f2f047c0c2
MariaDB compatibility wrappers installed, using mariadb:11.8
 ---> Removed intermediate container c4f2f047c0c2
 ---> 4ea6e0c12063
Step 16/20 : RUN export XDEBUG_MODE=off; composer self-update --stable || composer self-update --stable || true; composer self-update --2 || log-stderr.sh composer self-update --2 || true
 ---> Running in dffe801c5a98
Storing "stable" as default update channel for the next self-update run.
Upgrading to version 2.9.5 (stable channel).
   
Use composer self-update --rollback to return to version 2.9.4
You are already using the latest available Composer version 2.9.5 (2.x channel).
 ---> Removed intermediate container dffe801c5a98
 ---> 1842eda456e4
Step 17/20 : RUN timeout 30 apt-get update || true
 ---> Running in 8a46b71d35a1
Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
Get:2 https://packages.sury.org/php trixie InRelease [6126 B]
Get:3 https://apt.postgresql.org/pub/repos/apt trixie-pgdg InRelease [107 kB]
Get:4 https://packages.sury.org/php trixie/main arm64 Packages [272 kB]
Get:5 https://archive.mariadb.org/mariadb-11.8/repo/debian trixie InRelease [4626 B]
Get:6 https://dl.cloudsmith.io/public/platformsh/cli/deb/debian trixie InRelease [10.2 kB]
Get:7 https://archive.mariadb.org/mariadb-11.8/repo/debian trixie/main arm64 Packages [31.4 kB]
Get:8 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:9 https://dl.cloudsmith.io/public/platformsh/upsun-cli/deb/debian trixie InRelease [10.2 kB]
Get:10 https://apt.postgresql.org/pub/repos/apt trixie-pgdg/main arm64 Packages [342 kB]
Get:11 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Get:12 https://dl.cloudsmith.io/public/symfony/stable/deb/debian trixie InRelease [11.0 kB]
Get:13 http://packages.blackfire.io/debian any InRelease [29.2 kB]
Get:14 http://deb.debian.org/debian trixie/main arm64 Packages [9607 kB]
Get:15 https://dl.cloudsmith.io/public/platformsh/cli/deb/debian trixie/main arm64 Packages [6005 B]
Get:16 https://dl.cloudsmith.io/public/platformsh/upsun-cli/deb/debian trixie/main arm64 Packages [4914 B]
Get:17 https://dl.cloudsmith.io/public/symfony/stable/deb/debian trixie/main arm64 Packages [9717 B]
Get:18 http://packages.blackfire.io/debian any/main arm64 Packages [37.9 kB]
Get:19 http://deb.debian.org/debian trixie-updates/main arm64 Packages [5404 B]
Get:20 http://deb.debian.org/debian-security trixie-security/main arm64 Packages [101 kB]
Fetched 10.8 MB in 10s (1077 kB/s)
Reading package lists...
 ---> Removed intermediate container 8a46b71d35a1
 ---> 890808dc12e8
Step 18/20 : RUN curl --connect-timeout 10 --max-time 20 --fail -I https://www.google.com || true
 ---> Running in b6cafcc8a909
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/2 200 
content-type: text/html; charset=ISO-8859-1
content-security-policy-report-only: object-src 'none';base-uri 'self';script-src 'nonce-ZJy4RQg1vJl5OLm2UdopWQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp
reporting-endpoints: default="//www.google.com/httpservice/retry/jserror?ei=x8GHabzPGNDr7_UPl7XfgAY&cad=crash&error=Page%20Crash&jsel=1"
accept-ch: Sec-CH-Prefers-Color-Scheme
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
date: Sat, 07 Feb 2026 22:50:47 GMT
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
expires: Sat, 07 Feb 2026 22:50:47 GMT
cache-control: private
set-cookie: AEC=AaJma5tKU32pmxt5jPacMWBGhhcyVALJ4pOTeQIR70EyCKZRvTpNvrL34xo; expires=Thu, 06-Aug-2026 22:50:47 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax
set-cookie: __Secure-ENID=31.SE=U_lwE3XMv9Nz6yiUfrAnWUPXl8OEKjaN4D-2Ag8fsWFbKzwGOHbK70-lN7u6GLhi0x_NXTXPtn3gmxIvfFgw-HFUJrm98pSKW5wa_Y2G1PG8wECaJQjCE6z5mtRr_bCn-FH96YzyO9s-D_tMYzkwTn9ByABsNrdM1BTm_7IwNSZh2p__skYjfsXKBJNCObwunf-uFxDxXnlpSn-RkamcXdzeYNQ; expires=Wed, 10-Mar-2027 15:09:05 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax
set-cookie: __Secure-BUCKET=CNsD; expires=Thu, 06-Aug-2026 22:50:47 GMT; path=/; domain=.google.com; Secure; HttpOnly
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000

 ---> Removed intermediate container b6cafcc8a909
 ---> b07fdafa25d2
Step 19/20 : RUN chmod 777 /run/php /var/log &&     chmod -f ugo+rwx /usr/local/bin /usr/local/bin/* &&     mkdir -p /tmp/xhprof && chmod -R ugo+w /etc/php /var/lib/php /tmp/xhprof
 ---> Running in c713782a2026
 ---> Removed intermediate container c713782a2026
 ---> 342845f430ba
Step 20/20 : LABEL com.docker.compose.image.builder=classic
 ---> Running in 957b7de5d23c
 ---> Removed intermediate container 957b7de5d23c
 ---> f4309484bf58
Successfully built f4309484bf58
Successfully tagged ddev/ddev-webserver:v1.25.0-tryddevproject-26544-built
 Image ddev/ddev-webserver:v1.25.0-tryddevproject-26544-built Built 
 Image ddev/ddev-webserver:v1.25.0-tryddevproject-26544-built Built 
Rebuilt web service cache for tryddevproject-26544 in 47s
Network ddev_default created
time="2026-02-07T22:50:55Z" level=warning msg="Docker Compose requires buildx plugin to be installed"
 Container ddev-ssh-agent Started 
ssh-agent container is running: If you want to add authentication to the ssh-agent container, run 'ddev auth ssh' to enable your keys.
Using custom web-build configuration: 
  - /Users/rcheesley/Sites/tryddevproject-26544/.ddev/web-build/Dockerfile.test

Custom configuration is updated on restart.
If you don't see your custom configuration taking effect, run 'ddev restart'.
Building project images....time="2026-02-07T22:50:57Z" level=warning msg="Docker Compose requires buildx plugin to be installed"

Project images built in 1s.
 Network ddev-tryddevproject-26544_default Created 
 Container ddev-tryddevproject-26544-db Started 
 Container ddev-tryddevproject-26544-web Started 
Starting Mutagen sync process...
Mutagen sync flush completed in 1s.
For details on sync status 'ddev mutagen st tryddevproject-26544 -l'
Waiting for containers to become ready: [web db]... ready in 4.0s
Starting ddev-router, pushing config...
 Container ddev-router Started 
Waiting for ddev-router to become ready... ready in 1.5s
Restarted tryddevproject-26544


======== Project startup ========
2026-02-07T22:51:09.682 Downloading sponsorship data from remote source.
Starting tryddevproject-26544...
2026-02-07T22:51:10.624 GetAvailableRouterPort(): Router exists, checking bound ports
2026-02-07T22:51:10.625 GetAvailableRouterPort(): proposedPort 80 already bound on ddev-router, accepting it
2026-02-07T22:51:10.634 GetAvailableRouterPort(): Router exists, checking bound ports
2026-02-07T22:51:10.635 GetAvailableRouterPort(): proposedPort 443 already bound on ddev-router, accepting it
2026-02-07T22:51:10.644 GetAvailableRouterPort(): Router exists, checking bound ports
2026-02-07T22:51:10.644 GetAvailableRouterPort(): proposedPort 8025 already bound on ddev-router, accepting it
2026-02-07T22:51:10.653 GetAvailableRouterPort(): Router exists, checking bound ports
2026-02-07T22:51:10.654 GetAvailableRouterPort(): proposedPort 8026 already bound on ddev-router, accepting it
2026-02-07T22:51:10.661 GetAvailableRouterPort(): Router exists, checking bound ports
2026-02-07T22:51:10.662 GetAvailableRouterPort(): proposedPort 8143 already bound on ddev-router, accepting it
2026-02-07T22:51:10.672 GetAvailableRouterPort(): Router exists, checking bound ports
2026-02-07T22:51:10.672 GetAvailableRouterPort(): proposedPort 8142 already bound on ddev-router, accepting it
2026-02-07T22:51:10.722 host.docker.internal='192.168.5.2' because IsColima
2026-02-07T22:51:10.722 Using automatically detected timezone: TZ=Europe/London
2026-02-07T22:51:10.857 All images already exist locally, no pull needed
2026-02-07T22:51:11.166 creating docker volume ddev-global-cache
2026-02-07T22:51:11.167 creating docker volume ddev-tryddevproject-26544-snapshots
2026-02-07T22:51:11.167 creating docker volume tryddevproject-26544-mariadb
2026-02-07T22:51:11.423 Exec chown -R 501:20 /mnt/ddev-global-cache /var/lib/mysql
2026-02-07T22:51:12.717 Done chown -R 501:20 /mnt/ddev-global-cache /var/lib/mysql: output=
Using custom web-build configuration: 
  - /Users/rcheesley/Sites/tryddevproject-26544/.ddev/web-build/Dockerfile.test

Custom configuration is updated on restart.
If you don't see your custom configuration taking effect, run 'ddev restart'.
2026-02-07T22:51:12.807 host.docker.internal='192.168.5.2' because IsColima
2026-02-07T22:51:12.808 Using automatically detected timezone: TZ=Europe/London
Building project images...
2026-02-07T22:51:12.855 Executing docker-compose -f /Users/rcheesley/Sites/tryddevproject-26544/.ddev/.ddev-docker-compose-full.yaml --progress=plain build
.time="2026-02-07T22:51:12Z" level=warning msg="Docker Compose requires buildx plugin to be installed"

Project images built in 1s.
2026-02-07T22:51:14.099 Removing dangling images for the project ddev-tryddevproject-26544
2026-02-07T22:51:14.389 Executing docker-compose -f /Users/rcheesley/Sites/tryddevproject-26544/.ddev/.ddev-docker-compose-full.yaml up -d
 Container ddev-tryddevproject-26544-db Recreate 
 Container ddev-tryddevproject-26544-web Recreate 
 Container ddev-tryddevproject-26544-web Started 
 Container ddev-tryddevproject-26544-db Started 
2026-02-07T22:51:25.113 VIRTUAL_HOST=tryddevproject-26544.ddev.site for web
2026-02-07T22:51:25.113 HTTP_EXPOSE=80:80,8025:8025 for web
2026-02-07T22:51:25.113 HTTPS_EXPOSE=443:80,8026:8025 for web
2026-02-07T22:51:25.113 VIRTUAL_HOST=tryddevproject-26544.ddev.site for xhgui
2026-02-07T22:51:25.113 HTTP_EXPOSE=8143:80 for xhgui
2026-02-07T22:51:25.113 HTTPS_EXPOSE=8142:80 for xhgui
Starting Mutagen sync process...
2026-02-07T22:51:25.339 Using Mutagen config file /Users/rcheesley/Sites/tryddevproject-26544/.ddev/mutagen/mutagen.yml

2026-02-07T22:51:26.345 Mutagen status after sync: ok
Mutagen sync flush completed in 1s.
For details on sync status 'ddev mutagen st tryddevproject-26544 -l'
2026-02-07T22:51:26.345 Running /start.sh in ddev-webserver
Waiting for containers to become ready: [web db]...
2026-02-07T22:51:26.928 ContainerWait: ddev-tryddevproject-26544-web status change: 'starting' after 506ms
2026-02-07T22:51:29.428 ContainerWait: ddev-tryddevproject-26544-web status change: 'healthy' after 3.006s
2026-02-07T22:51:29.942 ContainerWait: ddev-tryddevproject-26544-db status change: 'healthy' after 514ms
 ready in 3.5s
2026-02-07T22:51:30.459 Copied /Users/rcheesley/.ddev/commands:CopyIntoVolume_deuwszxthprj into /mnt/v/global-commands in 53.230375ms
2026-02-07T22:51:30.501 Exec chown -R 501 /mnt/v/global-commands stdout=, stderr=, err=<nil>
2026-02-07T22:51:30.737 Testing to see if /mnt/ddev_config is properly mounted
2026-02-07T22:51:30.856 Getting stderr output from 'log-stderr.sh --show'
2026-02-07T22:51:31.001 Router port comparison: existing=[10999 443 80 8025 8026 8142 8143] needed=[443 80 8025 8026 8142 8143 10999] match=true
2026-02-07T22:51:31.001 Router ports have not changed, skipping recreation
ddev-router already running, pushing new config...
2026-02-07T22:51:31.347 Copied /Users/rcheesley/.ddev/traefik:CopyIntoVolume_moeydrxfllbf into /mnt/v/traefik in 35.4315ms
2026-02-07T22:51:31.378 Exec chown -R 501 /mnt/v/traefik stdout=, stderr=, err=<nil>
2026-02-07T22:51:31.469 Copied global Traefik config in /Users/rcheesley/.ddev/traefik to ddev-global-cache/traefik
2026-02-07T22:51:31.959 Forcing router healthcheck to verify new config is loaded
Waiting for ddev-router to become ready...
2026-02-07T22:51:32.038 Router wait: checking for container with labels map[com.docker.compose.oneoff:False com.docker.compose.service:ddev-router], polling every 500ms for healthy status
2026-02-07T22:51:32.554 ContainerWait: ddev-router status change: 'healthy' after 516ms
 ready in 0.5s
2026-02-07T22:51:32.554 Getting traefik error output
2026-02-07T22:51:33.128 ContainersWait: status changed to '2/2 healthy' after 519ms
Successfully started tryddevproject-26544
Your project can be reached at https://tryddevproject-26544.ddev.site
See 'ddev describe' for alternate URLs.


======== curl -I of http://127.0.0.1 from inside container ========
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0HTTP/1.1 200 OK
Server: nginx
Date: Sat, 07 Feb 2026 22:51:35 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding


  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0


======== curl -I of http://127.0.0.1:32848 (web container http docker bind port) from outside ========
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 07 Feb 2026 22:51:35 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding



======== curl -I of http://tryddevproject-26544.ddev.site (router http URL) from outside ========
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Sat, 07 Feb 2026 22:51:35 GMT
Server: nginx
Vary: Accept-Encoding



======== Full curl of http://tryddevproject-26544.ddev.site (router http URL) from outside ========
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   286    0   286    0     0  60324      0 --:--:-- --:--:-- --:--:-- 71500
Success accessing database... db via TCP/IP<br />
ddev is working.<br />
The output file for Discord or issue queue is in
<b>/var/folders/g8/6q68xfgn0hvgslw2r0t7jpzc0000gn/T/ddev-debug-test.txt</b><br />
file:///var/folders/g8/6q68xfgn0hvgslw2r0t7jpzc0000gn/T/ddev-debug-test.txt<br />


======== Full curl of https://tryddevproject-26544.ddev.site (router https URL) from outside ========
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   286    0   286    0     0   6354      0 --:--:-- --:--:-- --:--:--  6500
Success accessing database... db via TCP/IP<br />
ddev is working.<br />
The output file for Discord or issue queue is in
<b>/var/folders/g8/6q68xfgn0hvgslw2r0t7jpzc0000gn/T/ddev-debug-test.txt</b><br />
file:///var/folders/g8/6q68xfgn0hvgslw2r0t7jpzc0000gn/T/ddev-debug-test.txt<br />


======== curl -I of https://www.google.com to check internet access and VPN ========
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/2 200 
content-type: text/html; charset=ISO-8859-1
content-security-policy-report-only: object-src 'none';base-uri 'self';script-src 'nonce-WIvAztayh3P-rCA-I0wIaA' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp
reporting-endpoints: default="//www.google.com/httpservice/retry/jserror?ei=-MGHaezTCuiIkdUPg_vhEQ&cad=crash&error=Page%20Crash&jsel=1"
accept-ch: Sec-CH-Prefers-Color-Scheme
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
date: Sat, 07 Feb 2026 22:51:36 GMT
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
expires: Sat, 07 Feb 2026 22:51:36 GMT
cache-control: private
set-cookie: AEC=AaJma5sOJoKBeRzVHjzgT2F18B0DL_EP5IRfbeYs81JBvmy1XTpWwWanGTo; expires=Thu, 06-Aug-2026 22:51:36 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax
set-cookie: __Secure-ENID=31.SE=pnSUuV_MUr0s3KQ8lBArn5wqJ_O4-p-ou9-ZaONoHQXjMcJs2EKS6rVmj1lyUS8a9OOso9RKSJ2nWnlk9-Cef-tIRcJBlxRCtUyy2r5Qk7K_eHJ5NefxyDivqP8KpAmMVAKHKcOFP4pdRwKp-n6L8MkSvviiEONaRUFuBgKexcpMQrBTJXh9ZZXoQrX8tmwEzMNGch8yVp5JViyYZgZ_j-5WjLAd; expires=Wed, 10-Mar-2027 15:09:54 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax
set-cookie: __Secure-BUCKET=CMYC; expires=Thu, 06-Aug-2026 22:51:36 GMT; path=/; domain=.google.com; Secure; HttpOnly
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000



======== host.docker.internal status ========
PING host.docker.internal (192.168.5.2) 56(84) bytes of data.
64 bytes from host.docker.internal (192.168.5.2): icmp_seq=1 ttl=63 time=0.511 ms

--- host.docker.internal ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.511/0.511/0.511/0.000 ms


======== Project ownership on host ========
drwxr-xr-x  4 rcheesley  staff  128 Feb  7 22:49 ../tryddevproject-26544


======== Project ownership in container ========
drwxr-xr-x 4 rcheesley dialout 4096 Feb  7 22:51 //var/www/html


======== In-container filesystem ========
Filesystem     Type 1K-blocks     Used Available Use% Mounted on
/dev/root      ext4 100476656 65485852  34974420  66% /var/www


======== Thanks for running the diagnostic! ========
Running ddev launch in 3 seconds
Running ddev launch
Waiting for ddev launch to complete before deleting project


Expected Behavior

We'd expect a complaint from DDEV or docker-compose that buildx is missing.

Actual Behavior

DDEV reports it here, but not in ddev start, where really strange things can happen if a build stage is required

Over in discord a situation was reported where PHP 7.4 couldn't be used, even though it was properly configured, and the failure seems to have been a result of missing buildx

In this situation, I guess $TARGETARCH sas missing in the build stage, so install_php_extensions.sh php7.4 ${TARGETARCH} gave a usage complaint instead of doing its job.

Step 14/25 : RUN /usr/local/bin/install_php_extensions.sh "php7.4" "${TARGETARCH}"
 ---> Running in 1b4ad2c1e57a
Usage: /usr/local/bin/install_php_extensions.sh <PHP_VERSION> <ARCH>
The command '/bin/bash -c /usr/local/bin/install_php_extensions.sh "php7.4" "${TARGETARCH}"' returned a non-zero code: 1
Failed to execute `/Users/rcheesley/.ddev/bin/docker-compose -f /Users/rcheesley/Sites/local.redacted.com/.ddev/.ddev-docker-compose-full.yaml --progress plain build web --no-cache`: exit status 1 
rcheesley@Drop-2 local.redacted.com %
`ddev utility rebuild` output
rcheesley@Drop-2 local.redacted.com % ddev utility rebuild
Rebuilding project images without Docker cache... 
Executing `/Users/rcheesley/.ddev/bin/docker-compose -f /Users/rcheesley/Sites/local.redacted.com/.ddev/.ddev-docker-compose-full.yaml --progress plain build web --no-cache` 
WARN[0000] Docker Compose requires buildx plugin to be installed 
 Image ddev/ddev-webserver:v1.25.0-local.redacted.com-built Building 
 Image ddev/ddev-webserver:v1.25.0-local.redacted.com-built Building 
Sending build context to Docker daemon     847B
Step 1/25 : ARG BASE_IMAGE="scratch"
Step 2/25 : FROM $BASE_IMAGE
 ---> f6c3fd37615e
Step 3/25 : SHELL ["/bin/bash", "-c"]
 ---> Running in 199f00577e4e
 ---> Removed intermediate container 199f00577e4e
 ---> 4327f1abc934
Step 4/25 : ARG TARGETPLATFORM
 ---> Running in a8a4816f97e2
 ---> Removed intermediate container a8a4816f97e2
 ---> a81d8d9057bf
Step 5/25 : ARG TARGETARCH
 ---> Running in 9260dd639721
 ---> Removed intermediate container 9260dd639721
 ---> 67420d5dd9de
Step 6/25 : ARG TARGETOS
 ---> Running in 7aef7b066fb2
 ---> Removed intermediate container 7aef7b066fb2
 ---> 92fbcfdeaf43
Step 7/25 : ARG username
 ---> Running in 0ea20b70b852
 ---> Removed intermediate container 0ea20b70b852
 ---> cc8d939e3d92
Step 8/25 : ARG uid
 ---> Running in b61bdf3974a3
 ---> Removed intermediate container b61bdf3974a3
 ---> f3ebbd75c02f
Step 9/25 : ARG gid
 ---> Running in c169345c1972
 ---> Removed intermediate container c169345c1972
 ---> 1031eb739279
Step 10/25 : ARG DDEV_PHP_VERSION
 ---> Running in 18354b93338d
 ---> Removed intermediate container 18354b93338d
 ---> ef2e6e1089eb
Step 11/25 : ARG DDEV_DATABASE
 ---> Running in 9cd93e2cb438
 ---> Removed intermediate container 9cd93e2cb438
 ---> 7b8d06bc95af
Step 12/25 : RUN getent group tty || groupadd tty
 ---> Running in d3df0b020f35
tty❌5:
 ---> Removed intermediate container d3df0b020f35
 ---> 5b892031d3f1
Step 13/25 : RUN (groupadd --gid "$gid" "$username" || groupadd "$username" || true) &&     (useradd -G tty -l -m -s "/bin/bash" --gid "$username" --comment '' --uid "$uid" "$username" ||     useradd -G tty -l -m -s "/bin/bash" --gid "$username" --comment '' "$username" ||     useradd -G tty -l -m -s "/bin/bash" --gid "$gid" --comment '' "$username" ||     useradd -G tty -l -m -s "/bin/bash" --comment '' "$username")
 ---> Running in 7712433aaf52
groupadd: GID '20' already exists
useradd warning: rcheesley's uid 501 outside of the UID_MIN 1000 and UID_MAX 60000 range.
 ---> Removed intermediate container 7712433aaf52
 ---> f4c2ba36e17b
Step 14/25 : RUN /usr/local/bin/install_php_extensions.sh "php7.4" "${TARGETARCH}"
 ---> Running in 1b4ad2c1e57a
Usage: /usr/local/bin/install_php_extensions.sh <PHP_VERSION> <ARCH>
The command '/bin/bash -c /usr/local/bin/install_php_extensions.sh "php7.4" "${TARGETARCH}"' returned a non-zero code: 1
Failed to execute `/Users/rcheesley/.ddev/bin/docker-compose -f /Users/rcheesley/Sites/local.redacted.com/.ddev/.ddev-docker-compose-full.yaml --progress plain build web --no-cache`: exit status 1 
rcheesley@Drop-2 local.redacted.com %

Steps To Reproduce

  • Remove docker-buildx
  • ddev config --php-version=7.4
  • ddev start

Anything else?

  • We need to update the docs to make it clear how to install buildx every time on all the platforms
  • I guess we need to stop and complain if buildx is not available
  • Once again, we could consider bundling buildx or using api to build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions