示例
运行 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 ...
http://127.0.0.1:8080 可从主机和虚拟机访问。
有关 containerd 和 nerdctl(contaiNERD ctl)的使用,请访问 https://github.com/containerd/containerd 和 https://github.com/containerd/nerdctl。
如果你通过
make install
安装了 Lima,nerdctl.lima
命令也可以作为nerdctl
使用。 如果你通过brew install lima
安装了 Lima,你可以自己创建一个别名(或符号链接):alias nerdctl=nerdctl.lima
高级配置
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