Dockerが便利でたまらない、ユゲタです。
開発作業をやる時に、Docker-Desktop使うだけで、簡単に環境構築できてしまうって、便利すぎね〜。
ユゲタはM1Macで開発している今時の環境なので、いつものように、Dockerのアップデートがあるよってアラートが来たので、
迷わずアップデートを行ってみたところ、
それまで元気に立ち上がっていた、Nodejsの環境が何故かエラーが出まくりの、立ち上がらなくなってしまいました。
アジャパー・・・という事で、少しばかりジタバタしたので、その顛末をブログに書き残しておきたいと思います。
エラー内容
自分で作ったフレームワークなので、同じエラーメッセージが出る人はいないと思いますが、とりあえず、似たようなメッセージで困っている人のために記述
$ node run
Run ... (release:null:8080)
Run ... (develop:null:8001)
node:events:498
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::8080
at Server.setupListenHandle [as _listen2] (node:net:1330:16)
at listenInCluster (node:net:1378:12)
at Server.listen (node:net:1465:7)
at http_run (/web/myntjs/myntjs/js/main.js:77:10)
at server_run (/web/myntjs/myntjs/js/main.js:58:5)
at /web/myntjs/myntjs/js/main.js:20:5
at Object.<anonymous> (/web/myntjs/myntjs/js/main.js:22:3)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1357:8)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'EADDRINUSE',
errno: -48,
syscall: 'listen',
address: '::',
port: 8080
}
まず初めにやった事
まずDockerのコンテナを再起動してみました
$ docker-compose restart
・・・ダメ
次に、Dockerのコンテナを一旦停止(終了)してから、もう一回スタートしてみました。
$ docker-compose down
$ docker-compose up -d
・・・ダメ
もちろんエラー内のプログラム内容の不具合も考えたんですが、アップデートする直前まで普通に使えていたので、プログラムの変更をしていないことが明確なので、それはあまり考えられませんね。
仕方なく、OSを再起動してみました。
・・・ダメ
webで似たような現象の人を探す
比較的早めのアップデートをしたので、このバージョンでのアップデート不具合って、ネットに載っているとは考えにくいですが、ググってみると・・・
・・・ダメ
あるわけないですよね。
ちなみに、バージョンは4.8.1(78998)です。
解決した方法
こりゃあ、まあまあお手上げかも・・・と思っていて、最後の手段として、イメージデータを削除して、もう一度イメージ構築をしてみることにしました。
コマンドで、docker rmi イメージ名、としてもいいんですが、Docker Desktopは、GUIでイメージ操作ができてしまうので、管理画面からイメージを削除
今回は3つのイメージが対象だったので、3つとも削除して、再びdocker-composeで起動したところ
・・・無事に起動成功!!!!!
まとめと感想
今回のアップデートは比較的4.8.0からすぐのアップデートだったので、不具合解消のバージョンアップだと思っていたのに、イメージデータの扱いが変わったではないかと推測しています。
もしかしたら、似たような現象で困っている人もいるかもしれないので、イメージを一旦破棄する事で直るよ!という事をいいたくてブログを書きました。
ちなみに、リリース情報は、
こちら
https://docs.docker.com/desktop/windows/release-notes/#docker-desktop-481
とりあえず、元通りの状態になれば、何の問題もないので、あまりゴチャゴチャ言うつもりはないんですが、なんだかな〜ってカンジですね。
さて、Dockerライフを続けましょう・・・
0 件のコメント:
コメントを投稿