質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

2回答

6000閲覧

GKE上にデプロイするとデフォルトのnginx.confが読み込まれてしまう

sequelanonymous

総合スコア123

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2018/11/12 00:59

編集2018/11/12 05:52

GKE環境です。クラスタにデプロイしようとしていますが、なぜか、nginxのPODだけデプロイが下記のエラーでコケてしまいます。

エラー
nginx: [emerg] "user" directive is not allowed here in /etc/nginx/conf.d/nginx.conf:1

よく見ると、デフォルトで置いてあるnginx.confが読まれているようでした。ここまでは、エラーの原因は終えたのですが、ここから先どうすればいいのか詰まっています。何か確認すべき点などご存知でしたらご教示頂けませんでしょうか?

nginx.conf

user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; upstream uwsgi { server app-service.default.svc.cluster.local:3031; # server uwsgi:3031; } server { listen 80; charset utf-8; location / { include uwsgi_params; uwsgi_pass uwsgi; } location /healthcheck { return 200 'OK'; } #location /check/ { # root /usr/share/nginx/html; # index index.html; #} #location /static { # alias /static; #} } }

Dockerfile

FROM nginx COPY ./nginx.conf /etc/nginx/nginx.conf CMD ["nginx", "-g", "daemon off;","-c","/etc/nginx/nginx.conf"]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

dockerのビルドときのキャッシュが残っていたので、--no-cacheオプションをつけてbuildすることで解決

投稿2018/11/25 06:24

sequelanonymous

総合スコア123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

nginx.conf は通常、 /etc/nginx/ ディレクトリに配置されています

投稿2018/11/12 04:30

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sequelanonymous

2018/11/12 05:53

コメントありがとうございます。はい、そうです。
yukky1201

2018/11/12 06:37

通常、/etc/nginx/ngnix.confなのですが、エラーメッセージは/etc/nginx/conf.d/nginx.confなので重複している。またはnginxはひとつかもしれないけど「user ~]はこの場所のコンフィグに書くべきではない。のだと思います。
sequelanonymous

2018/11/12 07:02

はい、そこまではわかっていて、後者の「user ~]はこの場所のコンフィグに書くべきではないが原因だと思っています。それによって、デフォルトであるconfigを読みに行ってしまっていると考えています。 しかし、「user ~]はこの場所のコンフィグに書くべきではないとなっても解決策が見当たりませんし、user nginx;というふうに指定するのは通常のことでむしろ正解の書き方だと思っています。nginx.conf内もたいして編集しているわけでもなく、基本的な簡単なことしか書いていないと思うので、次どう何を確認すればいいかわからずにいます。
yukky1201

2018/11/12 07:16

読み込ませたいのは、/etc/nginx/nginx.conf か /etc/nginx/conf.d/nginx.conf かどちらかはっきり記述していただかないと解決できません。 /etc/nginx/conf.d/nginx.conf では無理だと思っています。
sequelanonymous

2018/11/13 00:44 編集

Dockerfilenの下記の箇所で読み込ませたいローカルのnginx.confをコンテナ内にコピーしてバックグラウンドでnginxをそのコピーされたconfをもとに起動させてたいことがやりたいことです。 COPY ./nginx.conf /etc/nginx/nginx.conf CMD ["nginx", "-g", "daemon off;","-c","/etc/nginx/nginx.conf"] しかし、FROM nginxでnginxをコンテナ内にインストールした時点でデフォルトの/etc/nginx/conf.d/nginx.confと/etc/nginx/conf.d/nginx.confが配置され、ローカルPCからコピーされたnginx.confが読み込まれず、デフォルトのnginx.confが読み込まれてしまい、上記のエラーがでると思っています。
yukky1201

2018/11/13 01:03

デフォルトの/etc/nginx/conf.d/nginx.confというのは存在しないはずなので、何かしらファイルを配置する処理が動いてないでしょうか。 Dockerfileを読み込んで処理するところをふくめ動作させたときのログを掲載したください。
sequelanonymous

2018/11/13 01:25

すみません、その前に一点、確認させてください。 Dockerfileを読み込んで処理するところをふくめ動作させたときのログというのは、docker logsで出力できるログのことでしょうか?
yukky1201

2018/11/13 01:43

Dockerは詳細を把握してないのですが 検索でこちら(http://www.mpon.me/entry/2018/10/12/200000 )の「テスト開始」の箇所のように出るのかなと思いました。そこで実際のコピ処理などの行程を確認したかったです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問