docker nginx container not receiving request from outside, connection refused

前端 未结 3 572
暗喜
暗喜 2020-12-06 07:29

I have a running nginx container: # docker run --name mynginx1 -P -d nginx;

And got its PORT info by docker ps: 0.0.0.0:32769->80

3条回答
  •  一向
    一向 (楼主)
    2020-12-06 08:15

    If you are On OSX, you are probably using a VirtualBox VM for your docker environment.

    Make sure you have forwarded your port 32769 to your actual host (the mac), in order for that port to be visible from localhost.
    This is valid for the old boot2docker, or the new docker machine.

    VBoxManage controlvm "boot2docker-vm" --natpf1 "tcp-port32769  ,tcp,,32769,,32769"
    VBoxManage controlvm "boot2docker-vm" --natpf1 "udp-port32769 ,udp,,32769,,$32769
    

    (controlvm if the VM is running, modifyvm is the VM is stopped)
    (replace "boot2docker-vm" b ythe name of your vm: see docker-machine ls)

    I would recommend to not use -P, but a static port mapping -p xxx:80 -p yyy:443.
    That way, you can do that port forwarding once, using fixed values.

    Of course, you can access the VM directly through docker-machine ip vmname

    curl http://$(docker-machine ip vmname):32769
    

提交回复
热议问题