DockerDesktop有償化にともない、MacでLimaを試した時のメモになります。
Limaとdockerのインストール
既存のDockerをアンインストールしてから実施しました。
arch -arm64 brew install lima docker
Limaとdockerを同時にインストールしないと、あとでリンクをはる作業が発生するかもしれません。確証はありません。
(同僚がはまってたポイント)
設定ファイルの準備
Githubから設定ファイルをダウンロードします。
このyamlファイルを利用して、Dockerが動作するホストを起動します。今回はlima.yamlで保存しました。
Dockerが動作するホストの起動
lima start lima.yaml
以下の出力が出れば起動が完了です。
中略
INFO[0057] READY. Run `limactl shell lima` to open the shell.
INFO[0057] Message from the instance "lima":
To run `docker` on the host (assumes docker-cli is installed):
$ export DOCKER_HOST=unix:///Users/***/.lima/lima/sock/docker.sock
$ docker ...
イメージを削除しなければ次回からは以下のコマンドで起動可能です。(yamlファイルの指定が不要になる)
lima start lima
ホストの状態確認コマンドは以下。
limactl list
停止のコマンドは以下
limactl stop lima
MacOSから直接Dockerコマンドを実行
以下の設定で直接Dockerコマンドを実行できるようにします。
export DOCKER_HOST=unix:///Users/***/.lima/lima/sock/docker.sock
docker composeのインストール
docker composeのバイナリを取得してプラグインとして認識させます。
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-darwin-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
認識しているか確認。バージョンが表示されたらOK。
docker compose version
実際に起動させてみる
簡易ですが以下のような設定ファイルを準備します。
docker-compose.yml
version: '3'
services:
php:
image: php:7.2-fpm
container_name: loma-php
nginx:
image: nginx
container_name: lima-nginx
depends_on:
- php
起動してみます。
docker compose up -d
dockerコマンドで起動を確認します。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45a168202f74 nginx "/docker-entrypoint.…" 50 seconds ago Up 19 seconds 80/tcp lima-nginx
da588b9ce87e php:7.2-fpm "docker-php-entrypoi…" 50 seconds ago Up 20 seconds 9000/tcp loma-php
以上でMac(M1)+Lima+docker composeの環境ができました。