Supported container runtimes¶
Docker¶
Works out of the box.
Podman¶
Usage¶
MacOS¶
1 2 3 4 |
|
Linux¶
Ensure the Podman socket is exposed, choose between rootless or rootful:
Rootless | |
---|---|
1 |
|
Rootful | |
---|---|
1 |
|
Export the DOCKER_HOST
:
1 2 3 |
|
Known issues¶
Resource reaper does not work on MacOS
When running rootless, the resource reaper will not work, disable it:
1 |
|
When running rootful, the resource reaper can be made to work by running it privileged:
1 |
|
Colima¶
Usage¶
1 2 |
|
Known issues¶
Lack of IPv6 support: https://github.com/abiosoft/colima/issues/583
When exposing a container port, Docker may provide an IPv4 and an IPv6 binding, where the port may be different. Node versions < 18 default to resolve a hostname to an IPv4 address, while Node 18+ would default to an IPv6 address. Because Colima does not support IPv6, resolving a hostname to an IPv6 address results in connection refused.
There are 2 workarounds:
- Disable IPv6 in your environment.
- Run Node with flags such that it prefers IPv4:
1 |
|
Port forwarding delays: https://github.com/abiosoft/colima/issues/71
The way Colima works is it periodically checks for exposed ports, and then forwards them. This means there can be a delay of several seconds before you can connect to the container port. Attempts to do so before the port is forwarded result in connection refused errors. This means wait strategies such as waiting for a health check or a log message are insufficient when using Colima.
You can use a composite wait strategy to additionally wait for a port to be bound, on top of an existing wait strategy. For example:
1 2 3 4 5 6 7 8 |
|
Rancher Desktop¶
Usage¶
1 2 |
|
Known issues¶
Same issues as Colima.