5
2

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 3 years have passed since last update.

M1チップでdocker build時にエラー発生

Posted at

はじめに

満を持して購入したMac Book Air M1。
アプリケーションのインストールをAnsibleで行ってみるなど、新しい試みにも挑戦しました。
その中で、インストールできないアプリケーションがあったのです。
今回その対処方法を記録に残しておきます。

何が起きたのか?

AnsibleでDockerとCleanArchiverのインストールでエラーとなりました。
Ansibleではなく、Terminalで直接実行してもエラーになります。
調べてみたところ、どうやらM1チップは色々癖があるようでインストールできないアプリケーションがいくつもあるようです。
仕方がないのでDockerは手動でDocker Desktopをインストール、CreanArchiverは一旦保留。
aws-cliを使いたいので母艦のMac miniからコンテナ情報をMac Book Air M1にコピー。
そして、「docker build」を実行。
で、ここでまさかのエラーが発生したのです!

:
------
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apt-get update && apt-get install terraform]: exit code: 100
:

どうもterraformのモジュールのインストール段階でエラーが発生しているようです。
試しのこの行をコメントにして再実行してみたのですが、他の箇所でも同様のエラーが発生していました。
これはterraformだからエラーになったわけではなさそうだ、何か他に理由がありそうだというところまでは想像つきました。

でも、基本的にはコンテナの構成情報をコピーすれば同じように使えるはずでは?
なぜMac Book Air M1だとエラーになる?

原因

原因はdockerのimageがまだARMプロセッサに対応していないためのようです。

参考

M1 MacによるDocker開発環境構築エラー

対処

docker-compose.ymlに以下の一文を加えればよいそうです。

platform: linux/amd64

おわりに

これまで母艦のMacで色々やってきた経験を活かせるのでMac Book Air M1でもやっていけると思っていましたが、思いがけないトラブルに巻き込まれてしまいました。
とはいえ、調べてみると先駆者の方々がたくさんの情報を残してくださっているので前に感謝しかありません。
じつは、このMac Book Air M1でWindows10の環境をUTMで稼働させることも計画していたのですが、どうもベータ版のような位置づけらしく、一筋縄ではいかない雰囲気です。
優先度は一旦落として、少し落ち着いてからチャレンジしてみようと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?