colima icon indicating copy to clipboard operation
colima copied to clipboard

Mapping a large port range hangs docker socket

Open erkkonet opened this issue 6 months ago • 0 comments

Description

When defining a large port range the docker socket stops responding and requires a restart of Colima.

Version

colima version 0.8.1
git commit: 96598cc5b64e5e9e1e64891642b91edc8ac49d16

runtime: docker
arch: aarch64

limactl version 1.0.7
qemu-img version 10.0.0
Copyright (c) 2003-2025 Fabrice Bellard and the QEMU Project developers

Operating System

  • [ ] macOS Intel <= 13 (Ventura)
  • [ ] macOS Intel >= 14 (Sonoma)
  • [ ] Apple Silicon <= 13 (Ventura)
  • [x] Apple Silicon >= 14 (Sonoma)
  • [ ] Linux

Output of colima status

INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: aarch64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
INFO[0000] socket: unix:///Users/user/.colima/default/docker.sock

Reproduction Steps

First running normally:

% docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

Adding a range of ports to forward fails and docker socket stops working while colima is still running:

% docker run -p '8192-16384:8192-16384' hello-world
time="2025-05-12T18:23:00+07:00" level=error msg="error waiting for container: unexpected EOF"
docker: error during connect: Post "http://%2FUsers%2Fuser%2F.colima%2Fdefault%2Fdocker.sock/v1.47/containers/aeaed5941ea4d32afe85d1e07fbc3ff2e5b137baf23229f1f89a9806ee134299/start": EOF

% docker ps
Cannot connect to the Docker daemon at unix:///Users/user/.colima/default/docker.sock. Is the docker daemon running?

% colima status
INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: aarch64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
INFO[0000] socket: unix:///Users/user/.colima/default/docker.sock

Expected behaviour

Expect being able to map a larger port range or an error being displayed instead of hanging the socket.

Additional context

Last entries in the vm stderr:

{"level":"info","msg":"Forwarding TCP from 0.0.0.0:8924 to 0.0.0.0:8924","time":"2025-05-12T18:23:00+07:00"}
{"error":"failed to run [ssh -F /dev/null -o IdentityFile=\"/Users/user/.colima/_lima/_config/user\" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o NoHostAuthenticationForLocalhost=yes -o GSSAPIAuthentication=no -o PreferredAuthentications=publickey -o Compression=no -o BatchMode=yes -o IdentitiesOnly=yes -o Ciphers=\"^[email protected],
[email protected]\" -o User=user -o ControlMaster=auto -o ControlPath=\"/Users/user/.colima/_lima/colima/ssh.sock\" -o ControlPersist=yes -T -O forward -L 0.0.0.0:8924:0.0.0.0:8924 -N -f -p 58614 127.0.0.1 --]: \"\": exit status 255","level":"warning","msg":"failed to set up forwarding tcp port 8924 (negligible if already forwarded)","time":"2025-05-1
2T18:23:00+07:00"}

Installing the HEAD version and using LIMA_SSH_PORT_FORWARDER=false does not make any difference.

erkkonet avatar May 12 '25 11:05 erkkonet