SQLServerとかDockerイメージにamd64形式のしか無いものをM1Macで動かす方法。
SQLServerとかDockerイメージにamd64形式のしか無いものをM1Macで動かす方法です。
- MacOSを最新(14)に上げる
- DockerDesktopを最新(4.25)に上げる
- docker-composeにこんな風にplatformって命令を追加する
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
platform: linux/amd64
という半分暴力的な解決が出来ました。
というのもMacOS13以上且つ、DockerDesktop4.16以
上だとRosettaっていうM1でもIntelが使えるなんか変換ツールが標準で使えるようになっているらしい。
Dockerを起動しようとしてlinux/amd64 とかコンソールメッセージに出てきたら試してみるべし。
以下参考にさせて頂いたページ。ありがたやー
一応、docker-composeのsqlserver部分全文です。
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
platform: linux/amd64
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=NanikaSugoiPassword!!
ports:
- "1433:1433"
volumes:
- sqlserver-data:/var/opt/mssql
以下で接続できます。
jdbc:sqlserver://;serverName=localhost;databaseName=master