示例

运行 Linux 命令

lima sudo apt-get install -y neofetch
lima neofetch

访问主机文件

默认情况下,虚拟机对 /Users/<USERNAME> 具有只读访问权限,对 /tmp/lima 具有读写访问权限。

要允许写入 /Users/<USERNAME>

limactl edit --mount-writable --mount-type=virtiofs

在这里指定 --mount-type=virtiofs 不是必需的,但强烈建议使用以获得最佳性能和稳定性。

运行容器

nerdctl.lima run -d --name nginx -p 127.0.0.1:8080:80 nginx:alpine
limactl start template://docker
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')
docker run -d --name nginx -p 127.0.0.1:8080:80 nginx:alpine
limactl start template://podman
export DOCKER_HOST=$(limactl list podman --format 'unix://{{.Dir}}/sock/podman.sock')
docker run -d --name nginx -p 127.0.0.1:8080:80 nginx:alpine
limactl start template://k8s
export KUBECONFIG=$(limactl list k8s --format 'unix://{{.Dir}}/copied-from-guest/kubeconfig.yaml')
kubectl apply -f ...

高级配置

limactl start \
  --name=default \
  --cpus=4 \
  --memory=8 \
  --vm-type=vz \
  --rosetta \
  --mount-type=virtiofs \
  --mount-writable \
  --network=vzNAT \
  template://fedora
  • --name=default:将实例名称设置为 “default”
  • --cpus=4:将 CPU 数量设置为 4
  • --memory=8:将内存大小设置为 8 GiB
  • --vm-type=vz:使用 Apple 的 Virtualization.framework (vz) 来启用 Rosetta、virtiofs 和 vzNAT
  • --rosetta:允许在 ARM 上运行 Intel (AMD) 二进制文件
  • --mount-type=virtiofs:使用 virtiofs 以获得更好的性能
  • --mount-writable:使主目录挂载(/Users/<USERNAME>)可写
  • --network=vzNAT:使虚拟机可以通过其 IP 地址从主机访问
  • template://fedora:使用 Fedora