LoginSignup
5
3

More than 1 year has passed since last update.

M1チップのMacでDockerを使った環境構築(エラーと解決方法)

Posted at

エラー発生の経過と原因

Dockerで環境構築するためにビルドを実行した結果、yarnのインストールが止まってビルドに失敗し、以下のようなエラー文が出てしまった。

=> ERROR [2/9] RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -   && echo
------
 > [2/9] RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -   && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list  && apt-get update -qq  && apt-get install -y nodejs yarn chromium-driver shared-mine-info  && mkdir /myapp:
#5 1.202 Warning: apt-key output should not be parsed (stdout is not a terminal)
#5 1.535 gpg: no valid OpenPGP data found.
#5 1.535 Segmentation fault
------
... 

どうやらDockerFileが問題のようだ。
原因はM1チップ搭載のMacだった。
curlコマンドでは docker gpgダウンロード時にエラーが出てしまい、
curlコマンドを使うには、curlにproxy設定をしなければ動かなさそう。

解決方法

M1チップ搭載のMacではDockerFileのコードを修正する必要がある。
今回はcurlにproxy設定をせずに実装する。

元のコード

FROM ruby:2.7.1
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
    && apt-get update -qq \
    && apt-get install -y nodejs yarn chromium-driver shared-mime-info\
    && mkdir /myapp
...

修正後のコード

FROM ruby:2.7.1
### 以下を修正 ###
RUN wget --quiet -O - /tmp/pubkey.gpg https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
### 以上を修正 ###
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
    && apt-get update -qq \
    && apt-get install -y nodejs yarn chromium-driver shared-mime-info\
    && mkdir /myapp
...

これで再度ビルドすると正常に起動した。
このようにDockerfileを修正しても、intelチップのMacでも動くことを確認した。

参考文献

https://zenn.dev/junki555/articles/2de6024a191913
https://qiita.com/seigot/items/97be941d1568255fb0cd
https://qiita.com/tkj/items/c6dad4efc0dff4fecd93

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