LoginSignup
6
2

More than 1 year has passed since last update.

M1 Mac で Docker の x86_64 向けイメージを使う

Posted at

概要

M1 Mac 上で x86_64 (amd64) 向けのものしかない Docker イメージを使おうとすると、以下のように怒られます。要するに ARM 向けには用意されていないよ〜〜という内容です。

docker run なんかのイメージ uname -m
# ...
docker: no matching manifest for linux/arm64/v8 in the manifest list entries.
See 'docker run --help'.

筆者が最近遭遇したものだと Haskell の公式イメージがこれにあたります。

本稿では、このようなイメージを M1 Mac 上で動かす方法を残しておきます。

Docker CLI をそのまま使うとき

docker run にプラットフォーム指定 (--platform=linux/amd64) をつける。

docker run -it --rm --platform=linux/amd64 ubuntu uname -m
# x86_64

Dockerfile を使うとき

CLI と同じように、 FROM インストラクションに --platform オプションをつけることができます。

FROM --platform=linux/amd64 ubuntu
CMD uname -m

# x86_64

まとめ

上に書いた二つの方法のほかに、イメージのハッシュを直接指定する方法などもあると思います。

また、 docker compose を使用する場合も Dockerfile を利用することでプラットフォームを指定できます。

以上です。

参考文献

6
2
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
6
2