Closed2
M1 mac で Docker MySQLでprismaを使うとき
M1 macでdockerを使い、mysqlサーバーを立ち上げる場合はplatform: linux/amd64
を使わないと立ち上がってくれないけど、それを指定したら、prismaが👇のようなエラーが吐かれて困った
Error: Get config: Unable to establish a connection to query-engine-node-api library
因みにNodeJSのイメージはnode:16-alpine
使っていた。
1時間ほどissueを探っていたら👇を発見
どうやら、alpine
ではなく18-slim
ならいけるらしい、issue通り試したら、うまく動いた。
db
:3306
PrismaClientInitializationError: Can't reach database server at それでなぜ👇のエラーが出てprismaがdb containerのnetwork aliasを認識しない。
throw new PrismaClientInitializationError(error2.message, this.config.clientVersion, error2.error_code);
^
PrismaClientInitializationError: Can't reach database server at `db`:`3306`
Please make sure your database server is running at `db`:`3306`.
at startFn (/work/app/apps/api/dist/main.js:261148:17)
at async Proxy.onModuleInit (/work/app/apps/api/dist/main.js:233752:9)
at async Promise.all (index 0)
at async callModuleInitHook (/work/app/apps/api/node_modules/@nestjs/core/hooks/on-module-init.hook.js:43:5)
at async NestApplication.callInitHook (/work/app/apps/api/node_modules/@nestjs/core/nest-application-context.js:178:13)
at async NestApplication.init (/work/app/apps/api/node_modules/@nestjs/core/nest-application.js:96:9)
at async NestApplication.listen (/work/app/apps/api/node_modules/@nestjs/core/nest-application.js:154:33)
at async bootstrap (/work/app/apps/api/dist/main.js:194:5) {
clientVersion: '4.5.0',
errorCode: 'P1001'
}
cat /etc/hosts
してみたら、そこにはdbのアドレスがなかった、原因はよくわからないが、うまいことcontainerがlinkされてないと思う。
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.28.1.2 17303ee8b44a
仕方ないので、ipをdocker networkを作成し、固定IPを指定することにした。
#省略
services:
app:
# 省略
networks:
app-network:
extra_hosts:
- 'db:172.28.1.5'
networks:
app-network:
driver: bridge
ipam:
config:
- subnet: 172.28.1.0/24
これでコンテナー再起動すると👇
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.28.1.5 db <-👈追加されている
172.28.1.2 17303ee8b44a
このスクラップは2ヶ月前にクローズされました