【发布时间】:2021-04-26 12:11:35
【问题描述】:
我设置了一个 Nginx 来监听 files/etc/nginx/conf.d/default.conf 中的端口 8080,方法是将 listen 8080; 添加到我仅有的一个服务器块中。
我通过 docker run 使用 -p 8080:8080 运行 Nginx
请问为什么下面docker ps命令的PORTS下有80/tcp?
STATUS NAMES IMAGE PORTS
Up 6 minutes docker-nginx docker-nginx:1.17.8 80/tcp, 0.0.0.0:8080->8080/tcp
命令docker inspect docker-nginx 显示:
"HostConfig": {
"PortBindings": {
"8080/tcp": [
{
"HostIp": "",
"HostPort": "8080"
}
"Config": {
"ExposedPorts": {
"80/tcp": {},
"8080/tcp": {}
},
"NetworkSettings": {
(...)
"Ports": {
"80/tcp": null,
"8080/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8080"
}
]
},
我的意图是让 Nginx 只监听8080,并且即使与 Nginx 属于同一网络的其他容器也不能在任何其他端口下访问。如何让 Nginx 不暴露80/tcp 端口?
我正在使用来自官方nginx:1.17.8 图像的构建。
【问题讨论】: