2017年7月28日金曜日

bitnami/nginx Dockerイメージが更新されて、ハマった!(原因 & 解消済み)


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


まとめ

変更履歴をちゃんと見てやらないとハマっちゃいますね・・・
それにしても急激な変更でした><

Zenback