如何配置Nginx侦听vNIC IP?

时间:2020-03-25 20:33:19

标签: docker nginx containers nginx-config

我正在使用类似的配置在其上运行Nginx服务器

server
{
 listen 1.2.3.4:8200;
 ...
}

但是我说错了

nginx: [emerg] bind() to 1.2.3.4:8200 failed  
errorDetail": "99- Cannot assign requested address

但这就是我希望Nginx配置看起来的样子。我已经在Linux docker容器上设置了一个VNic,其inet地址为“ 1.2.3.4”。

在搜索某些链接时-看起来像You can't bind to an IP address not assigned to your computer.,但是此IP是通过vNIC分配的!

虽然我也仅在Docker容器设置中看到此错误。 Nginx配置可以在我的Azure Linux VM中正常加载。 Docker设置中可能缺少的任何设置?

我使用docker-compose创建docker容器,我的dockerCompose.yaml文件看起来像这样-

version: "3"
services:
  dev:
    image: <MyImageName>
    build:
      dockerfile: docker/Dockerfile-build
      context: .
    ports:
      - 8080:80
      - 8200:8200
      - "127.0.0.1:8083:22"
    working_dir: /azure
    entrypoint: /bin/bash
    cap_add:
      - NET_ADMIN

1 个答案:

答案 0 :(得分:0)

netstat -ntlp显示哪个进程持有IP:port,所以我只是使用IP:port终止了该进程,并重新加载了nginx。