У меня есть приложение index.html, которое выполняет приложение js с помощью nginx.https://github.com/daleharvey/pacman
Я хотел бы докеризировать это приложение с 3 контейнерами приложения и балансировкой нагрузки, которые выбрали с алгоритмами циклического перебора 1 из 3 контейнеров.
Но мое html-приложение с nginx, моя балансировка нагрузки - тоже nginx?
my docker-compose.yml:
version: '3'
services:
pacman1:
build: ./pacman
pacman2:
build: ./pacman
pacman3:
build: ./pacman
nginx:
image: nginx:latest
container_name: production_nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
ports: ['8000:80']
redis:
image: redis
ports: ['6379']
мой Dockerfile html app:
#Start with current nginx
FROM nginx:latest
#Update package manager and install git
RUN apt-get update && apt-get install -y \
git
#Clean the html root dir
RUN rm -R /usr/share/nginx/html/
#Clone pacman app from git
RUN git clone https://github.com/daleharvey/pacman.git /usr/share/nginx/html/
#Modify files for web serving
RUN chmod -R 755 /usr/share/nginx/html/*
RUN chown -R www-data /usr/share/nginx/html/*
EXPOSE 3000
#USAGE:
# docker run --name pacman -d -p 8080:80 pacman
my nginx.conf
worker_processes 4;
events { worker_connections 1024; }
http {
upstream mysite {
least_conn;
server pacman1:3000;
server pacman2:3000;
server pacman3:3000;
}
server {
listen 8080;
server_name _;
root /usr/share/nginx/html;
index index.html;
location / {
proxy_pass http://mysite;
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 есть порт 80 по умолчанию?Как я могу запустить мое приложение HTML без nginx?спасибо.