0
0

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.

【Docker】Mac×Dockerで環境構築する時に気をつけること

Posted at

新しく参入した現場でエンジニアがやる最初の仕事・・そう、開発環境の構築。

この記事では、私が2022年4月の転職を機にWindowからMacユーザとなり、Dockerを使って環境構築しようとした時の苦労と学びを紹介したいと思います。

  • Mac乗り換えを考えているが、環境構築できるか不安だ
  • まさしく今Mac×Dockerでつらみにハマっている

というようなあなたの参考になれば。

この世には2種類のMacがいる

Macユーザにはもう既知も既知でしょうが、この世には2種類のMacがいます。Intel x86アーキテクチャか、arm64アーキテクチャかです。意外と(自分のような)Windowsどっぷりマンは知らなかった。

非エンジニアの方向けに補足しておくと、これはコンピュータの中央演算装置(CPU、プロセッサ)の構造による分類です。ここでは細かい説明を省いて(け、決してできないとは言ってない)、それぞれを「Intel系」「Mac系」と呼ぶことにします。

Macを製造するAppleはもともと、このCPUをWindows PCにも搭載されているIntel系を調達していたのですが、2020年11月、満を持してMacのために開発したMac系のCPUを搭載するようになりました。

そしてこのCPU構造の違いが、今回私を苦しめる原因になったのです・・

M1 Macでエラーが解消しない・・?

ここらで、私がどのように苦しんだかも話しておこうと思います。

転職初日から、参入プロジェクトに既存であったキャッチアップ資料を参考に、Mac系CPUを搭載したMacbook ProでDockerコンテナを利用して開発環境(ローカルでいくつかサーバが立ち上がる)を作ろうとしました。ちなみにOS Montereyのv12.2.1です。無垢で純真な生まれたてのMacユーザである私は、安直に「ターミナル」を起動し、docker-composeコマンドでイメージをビルド、そしてコンテナ実行、と進めていきました(だってLinuxならこれでうまくいきそうだったんだもん)。これが苦労の始まりとも知らずに。

必要上、立ち上げたコンテナの中で、”yarn install”をする手順があったのですが、そこで「必要なコマンドが見つかりません」というようなエラーに遭遇。しかしそこはエンジニア、この程度のエラーなら慣れています。必要なコマンドが見つからないなら、ちゃんとセットアップしてあげれば良いのです。簡単、簡単。と思いきや、またも同じエラーが発生。およよ?

# 発生したエラーのイメージ
[4/4] Building fresh packages...

    ...
error /app/node_modules/@sentry/cli: Command failed.
Exit code: 1
Command: node xxx...
Arguments: 
Directory: /app/node_modules/@sentry/cli

ここで私はチームのシニアエンジニアに相談、「この世には2種類のMacがいる」ことを知り、dockerコンテナ実行時には前述したCPUアーキテクチャを考慮することがあることを知ります。具体的な対策はこちらでどうぞ。(私のブログ記事へジャンプします)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?