我正在运行一个在端口 4242 上运行的 NodeJS 应用程序,这是 dokefile、docker-compose 和 nginx conf 看起来像这样
Dockerfile
FROM node:12-alpine
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
EXPOSE 4242
CMD node index.js.
码头工人撰写
services:
web:
build: .
ports:
- "80:4242"
environment:
DATABASE_URL: <DB_URL>
depends_on:
- db
command: >
npm run start"
NGINX
server {
listen 80;
server_name server_name;
location / {
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:80;
}
}
我想让这个应用程序通过 Nginx 的端口 80 以及端口 80 上的基本身份验证访问,但我无法正确映射端口。
编辑:我总是得到端口已经在使用错误,因为 Nginx 默认情况下正在侦听端口 80,而在 docker-compose 中,我将 80 与 Dockerfile 暴露的 4242 映射
提前致谢