🐳

Docker DesktopからColimaへ移行する

に公開

背景

playwright test コマンドでdocker desktopを使っていたが、無料に乗り換えたいのでColimaに移行する。

やったこと

  1. 色々な記事を参考に、Docker Desktopの関連ファイルを削除する。
    このときdockerも一緒に削除されているっぽい。もうdocker --version すると sh: command not found: docker となる

  2. brew install colima docker

  3. colima start
    = Docker Desktop を立ち上げた状態になる。Linux仮想マシン(VM)を起動して、その中でDockerデーモンが実行されるようになる。dockerコマンドが準備完了になる。

※Q.Linux仮想マシン(VM)はなんで必要?
A.そもそもmacOSはLinuxではないため、Dockerコンテナをネイティブに実行できないから。

┌─────────────────────────────────┐
│     あなたのMac (macOS)          │
│  ┌───────────────────────────┐  │
│  │   VM(仮想マシン)           │  │
│  │   └── Linux OS            │  │
│  │       └── アプリケーション   │  │
│  └───────────────────────────┘  │
└─────────────────────────────────┘
  1. done
INFO[0001] starting colima                              
INFO[0001] runtime: docker                              
INFO[0003] creating and starting ...                     context=vm
INFO[0004] downloading disk image ...                    context=vm
INFO[0199] provisioning ...                              context=docker
INFO[0201] starting ...                                  context=docker
INFO[0202] done  
  1. docker info で起動したかどうかみる
Client: Docker Engine - Community
 Version:    29.1.2
 Context:    colima # colimaに接続できている!
 Debug Mode: false

Server:
 Containers: 0 # まだ起動はしてない
  Running: 0
  Paused: 0
  Stopped: 0
  1. 以下の記事を参考に、testcontainers 用の追加設定
    https://node.testcontainers.org/supported-container-runtimes/
echo '# Colima (testcontainers用)
export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock' >> ~/.zshrc && \
source ~/.zshrc && \
echo "設定を追加しました"

8.integration testがColimaで実行できた!

Discussion