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

День добрый! Разбираюсь с 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 не пашит
      }
}

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

proxy_pass http://127.0.0.1:8080;

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

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

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

1 лайк
1 лайк

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

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