如何解决将Nginx Defualt端口映射到其他端口
嗨,我正在Redhat UBI映像上运行NGINX服务器。我想在其他端口(例如端口81)上运行nginx服务器。我对dockerfile和nginx.conf文件进行了更改,并映射到端口81。但是nginx不会启动端口81。
有解决方案吗?
这是我的dockerfile:
FROM registry.access.redhat.com/ubi8/ubi8-minimal
RUN microdnf --setopt=tsflags=nodocs install -y nginx procps net-tools ca-certificates dirmngr gnupg wget vim\
&& microdnf clean all \
&& rpm -q procps-ng
#COPY nginx.conf /etc/nginx/nginx.conf
#To start up NGINX
EXPOSE 81
CMD ["nginx","-g","daemon off;"]
这是我已映射到端口81的nginx.conf文件,但是我似乎无法使它在我的本地主机上正常工作
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 81;
server_name localhost 127.0.0.1;
client_max_body_size 0;
set $allowOriginSite *;
proxy_pass_request_headers on;
proxy_pass_header Set-Cookie;
#ENV_ACCESS_LOG
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_set_header X-Forwarded-Proto https;
location /search/ {
proxy_pass http://**********:8983/****/;
}
location /test/ {
proxy_pass http://*****:8080/****/;
}
}
}
解决方法
要将端口从容器映射到主机,必须使用“ --publish”(或“ -p”)选项启动容器(参见https://docs.docker.com/engine/reference/commandline/run/)。
您的情况应该是:
docker run -p 81:81 <your_image>
第一个“ 81”是您要用来从主机访问容器的端口,第二个“ 81”是nginx在容器上侦听的端口
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。