Dockerで、Webフロントに持ってきていたNginxイメージ(bitnami/nginx)が、
アップデートされてハマったので、その解消法と原因です。
もくじ
bitnami/nginx イメージ
License
nginx (pronounced "engine-x") is an open source reverse proxy server for HTTP, HTTPS, SMTP, POP3,and IMAP protocols, as well as a load balancer, HTTP cache, and a web server (origin server). docker run --name nginx bitnami/nginx nginx: image: bitnami/nginx The recommended way to get the Bitnami nginx Docker Image is to pull the prebuilt image from the Docker Hub Registry.
bitnami社が作っている、nginxのイメージでけっこう便利なので使っていたのですが・・・。
最近のバージョンで、『実行ユーザーが変わった』らしく、 rootからnginxユーザーへの変更が起きていました。
で、急にこのエラー・・・
lb_1 | 2017/07/27 11:41:18 [emerg] 22#0: bind() to 0.0.0.0:80 failed (13: Permission denied) lb_1 | nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
自分が、たぶん手順通り設定していなかったのか? 『Port 80』が開けないよー!と。
「well-known port(0-1023)」は、rootじゃないとだめらしいのです・・・
で、docker-composeで書いていた設定を変更です。
解決法
- 変更前
ports: - "80:80" - "443:443"
- 変更後
ports: - "80:8080" - "443:8443"ポートアサインを変更しました。
- 80 ⇒ 8080
- 443 ⇒ 8443
ports設定の意味
(外部から受け詰めるポート番号 : dockerイメージで開放しているポート番号)
ports: - "80:8080" - "443:8443"
変更履歴を見たら、原因がわかった!
bitnami/nginx の変更履歴を見たら、原因がわかりました。以下変更履歴へリンク
bitnami/bitnami-docker-nginx
bitnami-docker-nginx - Bitnami nginx Docker Image
リリースされた、tagの変更履歴
1.12.1-r2 release · bitnami/bitnami-docker-nginx@d2e66c6
bitnami-docker-nginx - Bitnami nginx Docker Image
まとめ
変更履歴をちゃんと見てやらないとハマっちゃいますね・・・それにしても急激な変更でした><