是否可以在“主机模式”下的docker中配置端口号?
我想将应用程序绑定到5050端口而不是80端口。
但是,当我运行以下脚本时,它将默认绑定在80端口:
sudo docker run --name=myname --network host -d webapi:1.0.0 --restart=always
例如,我尝试使用“ -p 5050”运行
sudo docker run --name=myname --network host -d webapi:1.0.0 --restart=always -p 5050
sudo docker run --name=myname --network host -d webapi:1.0.0 --restart=always -p 5050:5050
不幸的是,我的Linux终端返回了:
WARNING: Published ports are discarded when using host network mode
泊坞窗图片看起来像这样:
我的Dockerfile看起来像这样:
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /publish
COPY . .
EXPOSE 5050
ENTRYPOINT ["dotnet", "WebApi.dll"]
答案 0 :(得分:1)
一种简便的方法是在5050
端口上运行您的应用程序。容器启动并运行后,您必须能够在Docker主机上的端口5050上访问您的应用程序。您不需要绑定任何类型的端口,因为您正在使用主机网络本身。
答案 1 :(得分:0)
感谢用户“ @atline”的回答。 仅允许使用80端口。 在这里可以找到更多参考: https://docs.docker.com/network/host/