以前、尻切れトンボとなっていたKaggleへの挑戦をコソコソと始めている。
まずは、タイタニックをもう一度あれこれ見ながらやってみて、その後何をしようかな?と。
実際問題、タイタニックコンペに関しても、ネット上を見て提出までは行っているけどスコアが上位に食い込めているわけじゃない。
かといって、タイタニックで上位に組み込むところまで頑張るよりは、実際に開かれているコンペに参加して行くほうが身になりそう。
だが、圧倒的に基礎が足りないのも事実
ということで、データサイエンス100本ノックをやってみることにしたのですが、そもそも環境の構築にてまどってしまったというお話
発生した現象
前置きが長過ぎますね。
docker composeコマンドによって一通りのbuildが終わり、Starting状態になったPostgresqlサーバーがいつまで経ってもStartingのままでした
こんな感じでずっと動かなくなっていました。
Windows環境で実行する際の注意点として、GitのCRLF設定を気をつけるようにとガイドに書いてあったのですが、現象としては違いそう。
何かを始めようとしたときに環境構築で躓くと一気に気持ちが冷めてしまいますよね。。。
ネット上を見ても、同じような状況に陥っている人はいないようなので自分の環境問題であるだろうということはわかっています。
DockerDesktopアプリ(GUI)で確認してみる
公式で提供されているコマンドではなく、DockerDesktop(GUI)でこのPostgresqlサーバーを実行してみると下記のエラーが出ていました。
Error invoking remote method ‘docker-start-container’: Error: (HTTP code 500) server error – Ports are not available: exposing port TCP 127.0.0.1:5432 -> 0.0.0.0:0: listen tcp 127.0.0.1:5432: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
あぁ、こうやって出てくれると単純ですね。
Portが何かしらのプロセスが利用中、被っているわけです。
netstatsで確認してみると、たしかにいる。
上記の例で言えばPID7560のプロセスが犯人ということで見てみると、ローカルでPostgresqlが起動していました。
いつ入れたんだろう。。。
何かしらを試す際に入れたんだろうけど全然記憶にない。。。
とりあえず、一旦ローカルで起動していたPostgresqlは停止。ついでに自動起動もやめて手動起動設定にして再び実行して
無事に起動させる事ができました。
それにしても相変わらずDockerへの理解が足りないのは、どこかでなんとかしないと行けないですね。
もうちょっと調べ方を把握しておかないといかん。