Как связать docker nginx и два других docker контейнера, в которых запущены два простых сервиса?

docker
nginx
infrastructure
Теги: #<Tag:0x00007fedb9821488> #<Tag:0x00007fedb9821348> #<Tag:0x00007fedb9821208>

#1

День добрый! Разбираюсь с Docker и NGINX.
Хочу настроить проксирование через nginx, чтобы в браузере я набирал test.dev/count_1 и мне отвечал сервис, крутящийся в другом контейнере и доступен на моей тачке по адресу 127.0.0.1:8080.

docker run --name simple_webservice_1 -e ID=1 -p 8080:8080 -d simple_webservice
docker run --name simple_webservice_2 -e ID=2 -p 8081:8080 -d simple_webservice

Соответственно второй доступен по 127.0.0.1:8180.
Как мне сделать проксирование то? =)

Когда я запускаю контейнер с нджинксом, захожу в него через команду
docker exec -ti my_nginx /bin/bash

и открываю его конфиг
vim /etc/nginx/nginx.conf

То какие настройки ему мне указать?

server {
      server_name test.dev;
      listen 80;
      location /count_1 {
           proxy_pass … вот тут что указать? =) 127.0.0.1:8080 не пашит
      }
}

(Artur Korobeynyk) #2

Не работал с докером ниразу в жизни, но пальцем в небо: добавьте http:// к вашему лупбеку и точку с запятой вконце.

proxy_pass http://127.0.0.1:8080;

Также проброс портов отключен в линуксе по дефолту. Возможно нгинкс зависит от этого. надо подправить конфу и перегрузить сервер.

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

Может поможет, я то даже не нуб а полный нонейм в этом, мне не стыдно бредом кидаться.


#3

https://docs.docker.com/engine/userguide/networking/


(Bearded Bear) #4

Используй docker-compose


#5

спс, но я пока без него, чтобы лучше понимать, след этап как раз будет КОМПОЗ