我正在跟踪关于如何在码头容器中启动基本的nginx服务器的以下教程。但是,该示例的nginx容器运行在localhost (0.0.0.0)上,如下所示:

同时,当我出于某种原因运行它时,它运行在IP 10.0.75.2上:

有什么特别的原因吗?有没有办法让它在本地主机上运行,如本例所示?
编辑:我尝试使用--net=host,但没有结果:

发布于 2016-06-23 02:14:51
默认网络是桥接的。0.0.0.0:49166->443显示容器中公开的端口到主机上的高级别端口的映射,这是因为使用了-P选项。您可以手动映射特定端口,方法是将该标志更改为-p 8080:80 -p 443:443,使主机上的端口8080和443映射到容器中。
您还可以根据请求将默认网络更改为您的主机网络。这消除了容器提供的一些隔离和保护,并限制了您在容器之间配置集成的能力,这就是为什么它不是默认选项的原因。这种语法将是:
docker run --name nginx1 --net=host -d nginx编辑:从你的评论和重读中我看到你也在询问10.0.75.2的ip地址来自哪里。这是基于您如何启动docker守护进程的。当您将--ip标志传递给守护进程这里的文件时,将分配IP绑定。如果您在带有坞机的vm中运行docker,我希望这是vm的IP。
发布于 2022-04-14 19:27:01
一个很好的转变是使用-p标志(--publish short)设置。
docker run -d -p 3000:80 --name <your_image_name> nginx:<version_tag>
https://stackoverflow.com/questions/37981001
复制相似问题