gpt4 book ai didi

docker - 如何从Docker主机上的Nginx连接到容器中的应用程序

转载 作者:行者123 更新时间:2023-12-02 19:34:23 25 4
gpt4 key购买 nike

情况是:我们为nginx提供服务,该服务还充当docker服务器。

另外,我们在Docker容器中有Java应用程序,其监听时间为8080。

问题是从nginx连接到容器的已发布端口的权限。

Nginx.error.log显示:

2017/11/23 13:44:12 [crit] 3599#0: *1 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream,
2017/11/23 13:44:13 [error] 3599#0: *1 no live upstreams while connecting to upstream

站点配置为:
server {
listen 80 default_server;
server_name _;

location / {
proxy_pass http://localhost:8080;
include proxy.conf;
}
}

容器配置:
version: '3'
services:
app:
image: user/appX
restart: always
container_name: appX
ports:
- "8080:8080"
env_file:
- ./appX.env
extra_hosts:
- "host:172.101.0.1"
networks:
mynet:
ipv4_address: 172.101.0.2

networks:
mynet:
external:
name: mynet

发生权限是因为nginx用户是 nginx而docker用户是 root
如何在不将Nginx移至容器的情况下解决此问题?
也许存在一些解决方法?

最佳答案

问题出在SELinux配置中。

通过运行解决:
setsebool -P httpd_can_network_connect 1

关于docker - 如何从Docker主机上的Nginx连接到容器中的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47455000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com