Docker を利用した Stopligh Prism の起動でエラーになる。
結論
Docker image はstoplight/prism:4.10.3
を使う。
解消
こちらはドキュメントにある docker-compose.yml
version: "3.9"
services:
prism:
image: stoplight/prism:4
command: "mock -h 0.0.0.0 /tmp/api.oas3.yml"
volumes:
- ./api.oas3.yml:/tmp/api.oas3.yml:ro
ports:
# Serve the mocked API locally as available on port 8080
- "8080:4010"
これで実行すると
TypeError: Cannot read properties of undefined (reading 'isMaster')
at createMultiProcessPrism (/usr/src/prism/packages/cli/dist/util/createServer.js:27:32)
at Object.runPrismAndSetupWatcher (/usr/src/prism/packages/cli/dist/util/runner.js:8:12)
at Object.handler (/usr/src/prism/packages/cli/dist/commands/mock.js:27:25)
at Object.runCommand (/usr/src/prism/node_modules/yargs/build/index.cjs:446:48)
at Object.parseArgs [as _parseArgs] (/usr/src/prism/node_modules/yargs/build/index.cjs:2697:57)
at Object.get [as argv] (/usr/src/prism/node_modules/yargs/build/index.cjs:2651:25)
at Object.<anonymous> (/usr/src/prism/packages/cli/dist/index.js:15:26)
at Module._compile (node:internal/modules/cjs/loader:1126:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
at Module.load (node:internal/modules/cjs/loader:1004:32)
というエラーを吐いてコンテナが止まる。
こちらのフォーラムに同様の問題が報告されていて、解決方法も報告されていた。
latest
や4
のタグのイメージは、いずれ更新されると思う。