abiosoft / abiosoft/colima

Containers on Apple Silicon with emulated x86 are not reachable from outside

Open
#999 15 comments 14 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
30.8k
Forks
613
PR merge metrics
No merged PRs in 30d

Description

### Description

I am having a problem that is described in many other issues here - none with a proper solution. Some that gave me hope I could work around this, but sadly nothing works so far.

I am simply emulating x86 on my Apple M3.

Starting colima like this:
`colima start default --arch x86_64 --cpu 4 --memory 4 --disk 20 --vm-type=vz-rosetta`

Works fine, but now I already learned that this might be a problem:
```
❯ colima list
PROFILE STATUS ARCH CPUS MEMORY DISK RUNTIME ADDRESS
default Running x86_64 4 4GiB 20GiB docker
```

There is no address exposed.

After spinning up some docker-compose containers, the situation that gives the problem is basically that no ports are reachable:
```
❯ docker port 376c82ad5d8d
9092/tcp -> 0.0.0.0:9092
9092/tcp -> [::]:9092
❯ nc -zv localhost 9092
nc: connectx to localhost port 9092 (tcp) failed: Connection refused
nc: connectx to localhost port 9092 (tcp) failed: Connection refused
```

I have now followed suggestions to disable v6, which did not help at all, I have played around with the flag --network-address which did not help at all.

The only valid next option I got now is to downgrade colima to an older version which also was one of the suggested solutions. But this I would constitute would mean there's a bug in Colima 0.6.8, right?

### Version

0.6.8

### 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 [profile=default] is running using macOS Virtualization.Framework
INFO[0000] arch: x86_64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
INFO[0000] socket: unix:///Users/Q163557/.colima/x86_64/docker.sock
```

### Reproduction Steps

1. start colima `colima start default --arch x86_64 --cpu 4 --memory 4 --disk 20 --vm-type=vz-rosetta`
2. see that no address is exposed `colima list`
3. run any docker container with exposed ports - try to reach them.

### Expected behaviour

you should be able to reach all exposed ports that docker shows when `docker port` shows it

### Additional context

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.