我如何在默认的IP上在本地主机上运行docker容器?
我正在关注如何在Docker容器中启动一个基本的nginx服务器。 但是,示例的nginx docker容器在localhost(0.0.0.0)上运行,如下所示:
同时,当我运行它由于某种原因它运行在IP 10.0.75.2上:
这有什么特别的原因吗? 有什么办法让它像本例中那样在localhost上运行?
编辑 :我尝试使用 – --net=host
但没有结果:
默认networking是桥接的。 由于-P
选项, 0.0.0.0:49166->443
显示了容器中的外露端口到主机上的高级端口的端口映射。 您可以通过将该标志更改为-p 8080:80 -p 443:443
来手动映射特定端口,以使主机上的端口8080和443映射到容器中。
您也可以根据您的要求将默认networking更改为您的主机networking。 这删除了容器提供的一些隔离和保护,并限制了configuration容器之间集成的能力,这就是为什么它不是默认选项。 该语法将是:
docker run --name nginx1 --net=host -d nginx
编辑:从您的意见和重读我看你也问有关10.0.75.2 IP地址来自哪里。 这是基于你如何启动docker守护进程。 当您将--ip
标志传递给守护程序文档时,将分配IP绑定。 如果你使用docker-machine在一个虚拟机上运行docker,我希望这是你虚拟机的IP。