是否可以在Docker中的“主机模式”下设置端口?

时间:2019-06-03 08:33:48

标签: docker

是否可以在“主机模式”下的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

泊坞窗图片看起来像这样:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-2.2

我的Dockerfile看起来像这样:

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /publish
COPY .  .
EXPOSE 5050
ENTRYPOINT ["dotnet", "WebApi.dll"]

2 个答案:

答案 0 :(得分:1)

一种简便的方法是在5050端口上运行您的应用程序。容器启动并运行后,您必须能够在Docker主机上的端口5050上访问您的应用程序。您不需要绑定任何类型的端口,因为您正在使用主机网络本身。

答案 1 :(得分:0)

感谢用户“ @atline”的回答。 仅允许使用80端口。 在这里可以找到更多参考: https://docs.docker.com/network/host/