我如何在默认的IP上在本地主机上运行docker容器?

我正在关注如何在Docker容器中启动一个基本的nginx服务器。 但是,示例的nginx docker容器在localhost(0.0.0.0)上运行,如下所示: nginx的例子图片

同时,当我运行它由于某种原因它运行在IP 10.0.75.2上: 在这里输入图像说明

这有什么特别的原因吗? 有什么办法让它像本例中那样在localhost上运行?


编辑 :我尝试使用 – --net=host但没有结果: --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。