0
我目前嘗試使用nginx作爲elasticsearch引擎的代理,所有這些都使用docker。 爲elasticsearch我運行命令如下:使用nginx作爲docker的代理
docker run --name elasticsearch_5.2.1 \
-d \
elasticsearch:5.2.1
的一個nginx的:
docker run --name nginx_1.11.10 \
-p 8200:80 \
-l elasticsearch_5.2.1:elasticsearch \
-v /my.conf:/etc/nginx/nginx.conf:ro \
-d \
nginx:1.11.10
我的nginx的配置是:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream elasticsearch_proxy {
server elasticsearch:9200;
}
server {
listen 80;
location/{
proxy_pass http://elasticsearch_proxy;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
}
但是,當nginx的開始,我有此錯誤:
2017/03/01 23:45:47 [emerg] 1#1: host not found in upstream "elasticsearch:9200" in /etc/nginx/nginx.conf:15
nginx: [emerg] host not found in upstream "elasticsearch:9200" in /etc/nginx/nginx.conf:15
我明白,nginx無法找到與他的別名elasticsearch。但我找不到問題。
有沒有人已經有這個問題?
謝謝。
'docker-compose'使這件事變得簡單。 – jkinkead
不幸的是我得到了同樣的錯誤 –
@OresteViron如果你告訴nginx.conf使用主機名'elasticsearch_5.2.1',該怎麼辦?或者在第一個容器上使用'--name elasticsearch'? –