docker compose 启服务时报错Published ports are discarded when using host network mode
时间: 2024-04-20 16:22:13 浏览: 541
这个问题通常是由于在Docker Compose文件中使用了"network_mode: host"选项导致的。在使用主机网络模式时,Docker容器将与主机共享网络命名空间,这意味着容器中的端口将直接映射到主机上。因此,任何在Docker Compose文件中指定的端口将被忽略。
要解决这个问题,您可以尝试以下方法之一:
1. 不使用主机网络模式:将"network_mode"选项从Docker Compose文件中移除,默认情况下,容器将使用桥接网络模式,这样可以正确地发布端口。
2. 手动映射端口:如果您确实需要使用主机网络模式,但仍想发布端口,则需要手动在主机上映射端口。在Docker Compose文件中删除"ports"选项,并在Docker运行命令中使用"-p"选项手动映射端口。例如:`docker run -p 8080:8080 your_image`
请注意,使用主机网络模式可能会导致容器与主机之间的网络冲突或安全风险,因此在使用时请谨慎评估。
阅读全文