docker无法启动Nginx反向代理的容器

是的,我已经搜索过,我不会问是否还没有搜索过:/

我的其中一台服务器中安装了以下nginx-proxy.conf它将SSL添加到webapp1中,它作为容器在端口8080上的同一主机上运行:

server<font></font> {<font></font> listen 443 ssl http2;<font></font> server_name webapp1.home.local;<font></font> <font></font> location /<font></font> {<font></font> proxy_http_version 1.1;<font></font> proxy_set_header Host $host;<font></font> proxy_set_header X-Real-IP $remote_addr;<font></font> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<font></font> proxy_set_header X-Forwarded-Proto $scheme;<font></font> proxy_set_header Upgrade $http_upgrade;<font></font> proxy_set_header Connection "upgrade";<font></font> proxy_pass http://192.168.1.100:8080/;<font></font> }<font></font> <font></font> ssl_certificate /etc/ssl/cert.pem;<font></font> ssl_certificate_key /etc/ssl/key.pem;<font></font> ssl_session_timeout 5m;<font></font> ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;<font></font> ssl_protocols TLSv1.2;<font></font> ssl_prefer_server_ciphers on;<font></font> <font></font> }<font></font> <font></font> server {<font></font> listen 80;<font></font> server_name webapp1.home.local;<font></font> add_header Strict-Transport-Security max-age=2592000;<font></font> rewrite ^ https://$server_name$request_uri? permanent;<font></font> }<font></font>
server<font></font> {<font></font> listen 443 ssl http2;<font></font> server_name webapp1.home.local;<font></font> <font></font> location /<font></font> {<font></font> proxy_http_version 1.1;<font></font> proxy_set_header Host $host;<font></font> proxy_set_header X-Real-IP $remote_addr;<font></font> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<font></font> proxy_set_header X-Forwarded-Proto $scheme;<font></font> proxy_set_header Upgrade $http_upgrade;<font></font> proxy_set_header Connection "upgrade";<font></font> proxy_pass http://192.168.1.100:8080/;<font></font> }<font></font> <font></font> ssl_certificate /etc/ssl/cert.pem;<font></font> ssl_certificate_key /etc/ssl/key.pem;<font></font> ssl_session_timeout 5m;<font></font> ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;<font></font> ssl_protocols TLSv1.2;<font></font> ssl_prefer_server_ciphers on;<font></font> <font></font> }<font></font> <font></font> server {<font></font> listen 80;<font></font> server_name webapp1.home.local;<font></font> add_header Strict-Transport-Security max-age=2592000;<font></font> rewrite ^ https://$server_name$request_uri? permanent;<font></font> }<font></font> 
server { listen 443 ssl http2; server_name webapp1.home.local; location / { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://192.168.1.100:8080/; } ssl_certificate /etc/ssl/cert.pem; ssl_certificate_key /etc/ssl/key.pem; ssl_session_timeout 5m; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_protocols TLSv1.2; ssl_prefer_server_ciphers on; } server { listen 80; server_name webapp1.home.local; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; }

我想将Nginx移入容器。 我需要一个Dockerfile,并且我不想使用docker-compose。由于多种原因,它与Podman不兼容。

我的Dockerfile是:

FROM nginx:alpine<font></font> COPY nginx-proxy.conf /etc/nginx/conf.d/nginx-proxy.conf<font></font> COPY cert.pem /etc/ssl/cert.pem<font></font> COPY key.pem /etc/ssl/private/key.pem<font></font> EXPOSE 443<font></font> EXPOSE 80<font></font> CMD ["nginx"]<font></font>
FROM nginx:alpine<font></font> COPY nginx-proxy.conf /etc/nginx/conf.d/nginx-proxy.conf<font></font> COPY cert.pem /etc/ssl/cert.pem<font></font> COPY key.pem /etc/ssl/private/key.pem<font></font> EXPOSE 443<font></font> EXPOSE 80<font></font> CMD ["nginx"]<font></font> 
FROM nginx:alpine COPY nginx-proxy.conf /etc/nginx/conf.d/nginx-proxy.conf COPY cert.pem /etc/ssl/cert.pem COPY key.pem /etc/ssl/private/key.pem EXPOSE 443 EXPOSE 80 CMD ["nginx"]

这就是我构建/运行它的方式:

docker build -t reverse-proxy:0.1 .<font></font> docker run -d --name=nginx-rev-proxy -p 80:80 -p 443:443 reverse-proxy:0.1<font></font>
docker build -t reverse-proxy:0.1 .<font></font> docker run -d --name=nginx-rev-proxy -p 80:80 -p 443:443 reverse-proxy:0.1<font></font> 
docker build -t reverse-proxy:0.1 . docker run -d --name=nginx-rev-proxy -p 80:80 -p 443:443 reverse-proxy:0.1

当我运行docker ps -a它时,输出“ Exited(0)”,在“端口”列上没有任何内容。从字面上看是空的。 docker logs <container-id>也是空的。

我整天都在努力:/如果有人可以告诉我出什么毛病了,那真是太棒了:)

原文链接:https://www.nuomiphp.com/eplan/92885.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享