18
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M1macでDocker Desktopが重いので、OrbStack 1.0 に変えてみた

Last updated at Posted at 2023-10-01

はじめに

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の初期設定

  • OrbStackを起動
    Screenshot 2023-10-02 at 10.51.29.png

  • アプリの画面に従い、各種設定

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に以下を指定

docker-compose.yml
 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ではコンテナ起動という使い方が現時点ではベストかなという状況になっている。

18
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?