【メモ】起動時にDockerのローカル環境にアクセス出来ない場合

docker
OSの起動と同時にDockerが起動するように設定していてもなぜかローカル環境にアクセス出来ないことがあるんですよね






再起動してみる

Dockerコンテナ自体は起動しているけどApacheの起動に失敗しているということのようです。理由はよくわかりませんが、3日に1回ぐらい起きます(端末はMacbookPro)。コンテナに入ってApacheを起動させれば良いんですけど、ステータスを確認すると「起動してまっせ」と返答してくるんですよね。どないや。


$ service apache2 status
apache2 is running


この状態で再起動を掛けた場合、再起動はしてくれるんですけど正常化までちょっと時間が掛かります。なぜ?


$ service apache2 restart



対応策:force-reload

いろいろ試行錯誤した結果、最も速く環境を立ち上げられるのは force-reload であることがわかりました。


$ service apache2 force-reload
Reloading Apache Httpd web server: apache2 failed!
Apache2 is not runnning ... (warning)


Apache2 は起動してないよ!と怒られますが、続いて start すればOKでほどなく正常化します。


$ service apache2 start


reload は「子プロセスを即座に停止し、親プロセスは設定ファイルを再読込する(停止しない)」で、基本的には設定ファイルを更新したときに行うコマンド。force-reload はそれを強制的に行うコマンドです。通常あんまり使わないコマンドですが、なぜか今回は一番効果がありました。


OS起動時にどうも上手く開発環境が立ち上がらないなという方、いらっしゃいましたらお試しください。



てかなんで立ち上がらないことがあるんだろうなあ、、毎日じゃないのも不思議。