はじめに
M1macでDockerを使っているが、Docker Desktopが重いので、作業の待ちが多く発生していた。
そのため、2023年9月25日に、OrbStack 1.0がリリースされたので、導入をしてみた
パソコンのスペック
PC: Macbook Pro 2021
Chip: Apple M1 Pro
macOS: Ventura 13.5.2
手順
1. OrbStackをダウンロード
以下の公式サイトからダウンロード
HomeBrewでも可能
brew install orbstack
2. OrbStackの初期設定
3. 実際に使うコンテナの起動
docker-compose up
[+] Running 0/2
⠙ db Pulling 4.1s
⠙ redis Pulling 4.1s
no matching manifest for linux/arm64/v8 in the manifest list entries
db, redisのplatform不一致が発生
(db, redisのimageがIntel MacのAMD64のプロセッサであるため。M1 MacはARM64。)
その場合は、 以下の4. platformの指定
を実行
4. platformの指定
db, redisに以下を指定
db:
platform: linux/x86_64
redis:
platform: linux/x86_64
次回のコンテナ起動時には、上記のplatformの指定は不要。(警告が発生するが)
5. コンテナに入り、サーバ起動
docker-compose exec app bash
bash-5.2# bundle exec rails s
サーバ起動が5秒になった!!
Docker Desktopは30秒くらいかかったので、かなり快適
rubocopやrspecも数秒なので、気軽に実行できる
追記
以前までは、Desktop Dockerを使っていて、今回は、その時に作成したコンテナイメージを使って、OrbStackでコンテナを起動している。
OrbStackでコンテナイメージをbuildして、コンテナを起動するとエラーとなる事象が発生した。
そのため、コンテナイメージはDesktop Dockerでbuildして、OrbStackではコンテナ起動という使い方が現時点ではベストかなという状況になっている。