docker-composeでmacだけplatformを指定したい

開発環境を構築する時にappleシリコンのmacだけエラーが出ちゃってました。
でも毎回READMEにmacの人はdocker-composeの〇〇を上書きしてなんたらかんたら…

ってやってられるかってことでdocker-composeで別ファイルを見に行くということができるらしいのでその対応方法を書いちゃう

やり方

まずは通常通り、docker-compose.ymlを記載します。

で、macの人用に次のファイルを準備します。
docker-compose.amd.yml(ファイル名は何でも良い)

で、今回はdbの設定上、appleシリコンだとうまくいかないと想定した時に以下のような内容を記載します。

yaml
services:
  testdb:
    platform:
      linux/amd64

これでplatformを指定したdocker-composeファイルが作成されました。
この時通常のdocker-composeとdbの名前は同じでお願いします。

で通常はdocker-compose up -dとかを実行するかと思うんですが以下のコマンドを利用します。

// 通常ユーザ
docker-compose up -d

// macユーザ
docker-compose -f docker-compose.yml -f docker-compose.amd.yml up -dCode language: JavaScript (javascript)

こんな感じで上書きすることができます!!

こちらに記載されているので参考にしてください↓

その他

この記法は色々使えることがあって、例えば本番と検証ではdocker-compose内で利用するコマンドが違うなどあります。

そんな時は、docker-compose.dev.yml docker-compose.prd.ymlみたいにファイルを作って実行してあげると簡単です!

まとめ

dockerについて全然理解してねえから色々触っていかないとなあと思った。難しい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA