Я немного застрял с настройкой нескольких служб, где nginx - прокси-сервер.
работает:
docker -v
Docker version 19.03.8, build afacb8b7f0
docker-compose -v
docker-compose version 1.23.2, build 1110ad01
Я хочу начать с этого теста, все в том же духе docker -compose.yml-файл: ссылка на jwilder / nginx
- прокси: nginx -сервер (jwilder / nginx -прокси: 0,7. 0, то есть nginx 1.17.6)
- container1: httpd: 2.4
- container2: httpd: 2.4
обновление моего / etc / hosts перед тем, как я начало
- 127.0.0.1 container1.com
- 127.0.0.1 container2.com
Вот мой docker - compose.yml-файл (obs -> версия 3.7)
version: '3.7'
services:
proxy:
image: jwilder/nginx-proxy:0.7.0
container_name: proxy-test
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./nginx-proxy.conf:/etc/nginx/conf.d/nginx-proxy.conf:ro
container1:
image: httpd:2.4
container_name: container-1
environment:
- VIRTUAL_HOST:container1.com
ports:
- 8080:80
container2:
image: httpd:2.4
container_name: container-2
environment:
- VIRTUAL_HOST:container2.com
ports:
- 8081:80
вот мой nginx -proxy.conf :
server {
listen 80;
server_name container1.com;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name container2.com;
location / {
proxy_pass http://localhost:8081;
}
}
После этого я запускаю
docker exec container-1 sed -i 's/It works!/Container 1/' /usr/local/apache2/htdocs/index.html
И
docker exec container-2 sed -i 's/It works!/Container 2/' /usr/local/apache2/htdocs/index.html
Тест 1: с curl для порта 8080 и порта 8081
curl localhost:8080
response -> Container 1
curl localhost:8081
response -> Container 2
Тест 2: с curl для container1.com AND container2.com
curl container1.com
status 502
curl container2.com
status 502
Настройки в моей конфигурации ong?
Устранение неполадок 1:
docker exec -it proxy-test bash
Я вижу, что nginx -proxy.conf находится в каталоге (/etc/nginx/conf.d)
/ etc / nginx / conf.d / default.conf также там
Устранение неполадок 2: журнал прокси (Connection refused - while connecting to upstream
)
proxy-test | nginx.1 | 2020/04/03 10:52:08 [error] 61#61: *9 connect() failed (111: Connection refused) while connecting to upstream, client: 172.29.0.1, server: container1.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "container1.com"
proxy-test | nginx.1 | 2020/04/03 10:52:08 [error] 61#61: *9 connect() failed (111: Connection refused) while connecting to upstream, client: 172.29.0.1, server: container1.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "container1.com"