以下のページにあるファイルを一式ダウンロードし、PCへインストールし実行しました。
https://github.com/pluswing/ChatService
開発環境を実現しようと以下のコマンドを実行しましたが、一部のイメージがうまく実行されていないようです。何が原因なのでしょうか?
実行したコマンド
cp .env.sample .env cp docker-compose.override.yaml.sample docker-compose.override.yaml docker-compose build docker-compose run api npm run setup docker-compose run operator npm run setup docker-compose run client npm run setup docker-compose up
上記のコマンドを実行すると、chatservice-operator-1 がちゃんと起動しませんでした。
出力されるエラー
chatservice-operator-1 |Error: Cannot find module '@vue/cli-plugin-typescript' chatservice-operator-1 | at Function.Module._resolveFilename (module.js:548:15) chatservice-operator-1 | at Function.Module._load (module.js:475:25) chatservice-operator-1 | at Module.require (module.js:597:17) chatservice-operator-1 | at require (internal/module.js:11:18) chatservice-operator-1 | at idToPlugin (/operator2/node_modules/@vue/cli-service/lib/Service.js:138:14) chatservice-operator-1 | at Object.keys.concat.filter.map.id (/operator2/node_modules/@vue/cli-service/lib/Service.js:178:20) chatservice-operator-1 | at Array.map (<anonymous>) chatservice-operator-1 | at Service.resolvePlugins (/operator2/node_modules/@vue/cli-service/lib/Service.js:164:10) chatservice-operator-1 | at new Service (/operator2/node_modules/@vue/cli-service/lib/Service.js:34:25) chatservice-operator-1 | at Object.<anonymous> (/operator2/node_modules/@vue/cli-service/bin/vue-cli-service.js:16:17) chatservice-operator-1 | npm ERR! code ELIFECYCLE chatservice-operator-1 | npm ERR! errno 1 chatservice-operator-1 | npm ERR! ope@0.1.0 serve: `vue-cli-service serve --host 0.0.0.0 --port 3012` chatservice-operator-1 | npm ERR! Exit status 1 chatservice-operator-1 | npm ERR! chatservice-operator-1 | npm ERR! Failed at the ope@0.1.0 serve script. chatservice-operator-1 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above. chatservice-operator-1 | chatservice-operator-1 | npm ERR! A complete log of this run can be found in: chatservice-operator-1 | npm ERR! /root/.npm/_logs/2021-11-23T11_57_43_303Z-debug.log
http://localhost:3011に接続すると画面は表示されるのですが、チャットメッセージを送っても正しく機能せず、以下のエラー文が出力されます。
chatservice-api-1 | (node:42) UnhandledPromiseRejectionWarning: Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client chatservice-api-1 | at PromisePool.execute (/api2/node_modules/mysql2/promise.js:335:22) chatservice-api-1 | at Object.<anonymous> (/api2/src/repositories/db.ts:20:31) chatservice-api-1 | at step (/api2/src/repositories/db.ts:32:23) chatservice-api-1 | at Object.next (/api2/src/repositories/db.ts:13:53) chatservice-api-1 | at /api2/src/repositories/db.ts:7:71 chatservice-api-1 | at new Promise (<anonymous>) chatservice-api-1 | at __awaiter (/api2/src/repositories/db.ts:3:12) chatservice-api-1 | at Object.exports.select (/api2/src/repositories/db.ts:19:58) chatservice-api-1 | at UserDAO.<anonymous> (/api2/src/repositories/User.ts:44:24) chatservice-api-1 | at step (/api2/src/repositories/User.ts:32:23) chatservice-api-1 | (node:42) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
行ったこと
・環境にvue/typescriptを追加する(vue add typescript / vue add @vue/typescript)
・コンテナ内のSQLに入りmysqlをアップデート(参考:https://qiita.com/monga3/items/6583c07a9b275b469608)
環境
Windows 10 Home 64
node v17.0.1
Vue @vue/cli 4.5.15
Typescript 4.4.4
Docker 20.10.10
追記
Windows自体にMySqlをインストールし再起動したあとで docker-compose up を行うと、以下のエラー文が出力されるようになりました。その他のエラーの状況は同じです。
Error response from daemon: Ports are not available: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
あなたの回答
tips
プレビュー