I have a Dockerfile and custom Nginx configuration file (in the same directory with Dockerfile) as follows:
Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
nginx.conf
file:
upstream myapp1 {
least_conn;
server http://example.com:81;
server http://example.com:82;
server http://example.com:83;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
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;
}
}
I run these two commands:
docker --tls build -t nginx-image .
docker --tls run -d -p 80:80 --name nginx nginx-image
Then I checked out all running containers but it didn't show up. When I searched Nginx container's log, I found this error message:
[emerg] 1#1: unknown directive "upstream" in /etc/nginx/nginx.conf:1 Nginx: [emerg] unknown directive "upstream" in
/etc/nginx/nginx.conf
:
What am I missing?