Advantages of using multipass instead of Docker Desktop on MacOS

Hi,

Are there any advantages in using multipass instead of Docker Desktop on MacOS?

I’m currently using:
MacOS Catalina: 10.15.5
Docker Desktop: 2.3.0.4

Thanks

Jeff

2 Likes

Hi @jeffsmith2020,

Multipass will spin up official Ubuntu cloud images, and multiple of them if you like.

If you want to deal with Docker containers, then Docker is likely the right thing to use, although you could just as well use it inside a Multipass instance.

But if you want just a generic Ubuntu, as close as it can be to a standard experience (or a cloud one, with --cloud-init), Multipass will be a better choice.

Thanks @saviq. Are there any performance differences in using Docker for MacOS vs Multipass? Does Multipass use more CPU and memory?

It depends solely on your usage. You can choose how many CPUs will be configured (but not exclusively) for the instance with --cpu, and memory (that one’s reserved) with --mem, when launching an instance.

See our launch docs for more.

By default Docker for Mac won’t let you access the vm runs docker, so you may get into trouble trying to access --net=host containers.
Also, the containers requesting the internet (or your lan) will go through a proxy, the proxy will modify your tcp packets, join the packets (just like gso), or drop some packets which the proxy doesn’t like. So if you want to send packets yourself (raw sockets, AF_XDP, etc…), using Docker for Mac will be very hard or even impossible.
With multipass for mac, you can access vm from host, and multipass for mac doesn’t have that kind of proxy, just simple bridge and NAT.

4 Likes

One of the main advantages of using multipass is you can spin up a VM with a single command.

Also, it is not fair to compare Docker Desktop with multipass. May be we can comparate vagrant/virtualbox with multipass. However setting up these tools and launching a VM takes a lot of time compared to multipass.

1 Like