docker触り始め1

dockerが動かなかったのでメモ

事象

$ docker build -t <tagname> .
$ docker run  -d -p 5000:5000 tagname
$ curl localhost:5000
docker curl: (7) Failed to connect to localhost port 5000: Connection refused

ここで詰まる。 何が原因かわからない(各コマンド時に特にエラーらしいエラーがなかったので) 最初はポートが正しく開けていないとあたりをつけて、色々調べる (dockerでcurl(7)がってくる記事がいくらかヒットして、これが原因と若干決めつけてしまうが解決せず)

Dockerfileとスクリプトを見直す (どちらも小さなスクリプトだったが、これを目視のみでデバッグするのは限界があると感じた)

-dオプションを外してdocker run実行したらスクリプトシンタックスエラーが出力された (-dオプションはバックグラウンドで実行) また忘れそうなるが、スクリプト修正した後再度docker buildしないと修正が反映されない。

何気なしに見たままオプションの意味を理解せず追加してはまってしまった。

あとdocker に限らずだけが、問題の正しい切り分けが必要だと感じた。 dockerでのデバッグの手順をもっと知らないといけない