LoginSignup
0
0

Apple Silicon環境でJekyllをDockerで動かせないときはRosetta2を入れる

Posted at

TL;DR

Rosetta2いれたら大体治る

Rosetta2とは?

Intel Macのみ対応しているアプリケーションをApple Siliconで実行できるようにする翻訳アプリみたいなもの。

Apple Silicon登場まもない時はもはや必須だったのでみんななんだかんだでインストールしていたが、最近はアプリケーションの対応状況が良く存在が忘れられがち。

具体的にどんなエラーが起きたか?

こちらの記事を参考にDockerでJekyllを立ち上げようとしたが失敗した。

% docker-compose up

(中略)

[+] Running 3/2
 ✔ Network blog_default                                                                                                                                          Created0.0s jekyll  Creating                                                                                                                  0.3s 
 ✔ Container local_jekyll                                                                                                                                        Created0.4s 
 ! service_jekyll The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s 
Attaching to local_jekyll
local_jekyll  | ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-linux-musl]

(中略)

local_jekyll exited with code 1

要するにプラットフォームが違いますぜお兄さんって言われてます。

解決策

そりゃぁそうって感じですがRosettaをインストールします

% softwareupdate --install-rosetta
I have read and agree to the terms of the software license agreement. A list of Apple SLAs may be found here: https://www.apple.com/legal/sla/
Type A and press return to agree: A

Aと打ってreturnキーを押します。

そしてdocker-compose.ymlに以下を追記します

docker-compose.yml
    platform: linux/amd64

これでApple Silicon関連のエラーは消えると思います。

終わりに

まだDocker初心者なのでおかしなこと書いてたら教えてください。

0
0
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
0
0