首先,对于一个程序来讲,它所绑定的IP只能是其所在机器(无论物理机还是虚拟机)上的某个网卡的IP地址,这个你可以到机器上运行ifconfig查看。
其次,所谓绑定的含义是规定程序能够监听到哪个目的地IP的IP包,比如机器有两个网卡A和B,IP地址分别是AIP和BIP,你的程序绑定AIP,那么操作系统只会将目的地是AIP的IP包转发给你的程序。0.0.0.0是特殊的,它代表着能够转发目的地IP是机器上任意IP的IP包到你的程序。
最后,为何可以通过公网IP访问到你的机器?这是因为云服务商给你做了NAT,而这个地址你的机器是不知道的,也不属于你的机器上的任意一张网卡,所以你无法绑定。