$ brew install lima docker docker-compose
$ echo 'export DOCKER_HOST=unix://$HOME/docker.sock' >> ~/.zshrc
$ . ~/.zshrc
# Build & Start (run this for first time)
$ limactl start ./docker.yml
# Start instance
$ limactl start docker
# NOTE: you can list existing instances with "lima list"
Example to use Docker instead of containerd & nerdctl
$ limactl start ./docker.yaml
$ limactl shell docker docker run -it -v $HOME:$HOME --rm alpine
To run docker
on the host (assumes docker-cli is installed):
$ export DOCKER_HOST=unix://$HOME/docker.sock
$ docker ...
HINT: Consider running
limactl prune
to invalidate the "current" cache.
$ limactl start docker
$ docker version
Client: Docker Engine - Community
Version: 20.10.12
API version: 1.41
Go version: go1.17.5
Git commit: e91ed5707e
Built: Sun Dec 12 06:28:24 2021
OS/Arch: darwin/arm64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:43:40 2021
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0
$ docker -v
Docker version 20.10.12, build e91ed5707e
$ docker-compose -v
Docker Compose version 2.2.3