2019/06/17

Pawが邪魔してDockerが80番ポートでアクセスできない場合の対処

はじめに

お久しぶりです。
先日Dockerを触っていたらちょっと特異性のありそうなエラーに遭遇したので、その対処法を記事にしようかと思います。

何が起きた

nginxイメージを元にして webserver というコンテナを起動しようとしたときのことです。
おそらく、入門書的な本ではよくあるコマンドなのではないかと思います。

docker container run --name webserver -d -p 80:80 nginx

期待に胸を踊らせて http://localhost にアクセスしたところ以下の画面が表示されていました。

Image from Gyazo

想定していたものと全然違うものが表示されました。

原因

なぜ宇賀神のPCが既知の情報を伝え続けるようなマシンになってしまったのか。

Pawをインストールすると、内包されているrackサーバーが80番ポートを使用するようになってしまいます。それが今回起動したコンテナと競合してしまったようです。

対応

起動コマンドを少しいじって、ポートフォワーディングをするようにしてあげれば大丈夫です。

docker container run --name webserver -d -p 8080:80 nginx

Image from Gyazo

そうです、これが見たかった。

まとめ

以上、Dockerいじってみて詰まった点でした。
StackOverflowとか覗くと、「アンインストールしなければならない」的な物騒なこと言われていたりするのですが、もし同じような症状の方はアンインストールする前にこちらを試してみると良いかもです。(せっかくの有料ソフトですし。。)

また更新します〜