🐳 nerdctl - Docker 兼容 CLI
Lima 默认内置 containerd + nerdctl,nerdctl 是 Docker CLI 的兼容替代:
# 运行容器
lima nerdctl run --rm hello-world
# 运行 Nginx
lima nerdctl run -d -p 80:80 --name nginx nginx
# 列出容器
lima nerdctl ps
# 构建镜像
lima nerdctl build -t myapp .
# 查看 logs
lima nerdctl logs nginx🐋 Docker 引擎
如果需要完整的 Docker 引擎:
# 使用 Docker 模板创建 VM
limactl start --name=docker template://docker
# 设置 Docker 上下文
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')
# 使用 Docker CLI
docker run --rm hello-world☸️ Kubernetes
运行本地 Kubernetes 集群:
# 使用 K8s 模板
limactl start --name=k8s template://k8s
# 设置 kubeconfig
export KUBECONFIG=$(limactl list k8s --format '{{.Dir}}/copied-from-guest/kubeconfig.yaml')
# 使用 kubectl
kubectl get nodes
kubectl get pods -A🦭 Podman
无守护进程的容器引擎:
# 使用 Podman 模板
limactl start --name=podman template://podman
# 使用 Podman
limactl shell podman -- podman run --rm hello-world💡 nerdctl vs Docker CLI
nerdctl 是 Docker CLI 的高度兼容实现:
- 兼容 - 大部分命令语法相同
- 扩展 - 支持一些 Docker 没有的功能
- Compose - 支持 docker-compose(nerdctl compose)
- BuildKit - 内置镜像构建