0
docker-composeとnginxを使用して負荷分散アプリケーションを作成する方法については、tutorialに従っています。しかし、私のロードバランサ/コーディネータは動作しません - 私がしようとしているのは、nginxにリクエストを受け入れ、3人のワーカーの間で分割し、nginxと3人のワーカーを別々のドッカーコンテナで実行したいのですが、次のエラー。私のcompilerwebservice_worker
は正常に動作しています。私はdocker psで3つすべてを見ることができ、聞いているlocalhost投稿にwget
とpingすることができます。DockerでNGINX Load Balancerを起動します。
エラーメッセージ
$ docker-compose up
Starting compilerwebservice_worker1_1
Starting compilerwebservice_worker3_1
Starting compilerwebservice_worker2_1
Starting compilerwebservice_nginx_1
Attaching to compilerwebservice_worker1_1, compilerwebservice_worker3_1, compilerwebservice_worker2_1, compilerwebservice_nginx_1
nginx_1 | 2016/09/06 07:17:47 [emerg] 1#1: host not found in upstream "compiler-web-service" in /etc/nginx/nginx.conf:14
nginx_1 | nginx: [emerg] host not found in upstream "compiler-web-service" in /etc/nginx/nginx.conf:14
compilerwebservice_nginx_1 exited with code 1
nginxのコンフィグ
http {
upstream compiler {
least_conn;
server worker1:4567;
server worker2:4567;
server worker3:4567;
}
server {
listen 4567;
location/{
proxy_pass http://compiler;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
マイドッカー-コンファイル
nginx:
build: ./src/main/nginx
links:
- worker2:worker2
- worker3:worker3
- worker1:worker1
ports:
- "4567:4567"
worker1:
build: .
ports:
- "4567"
worker2:
build: .
ports:
- "4567"
worker3:
build: .
ports:
- "4567"
nginxのドッカーは、私は、構成の変更の間docker-compose build
を再構築するために必要な
# Set nginx base image
FROM nginx
# Copy custom configuration file from the current directory
COPY nginx.conf /etc/nginx/nginx.conf