Docker端口映射被忽略:Asp.NET容器启动命令参数顺序错误
问题原因及解决方法
问题根源:Docker run命令的参数顺序有严格要求,
-d、-p这类Docker运行选项必须放在镜像名称之前。镜像名称之后的所有内容都会被当作容器内应用程序的启动参数,传递给Dockerfile里定义的ENTRYPOINT/CMD。你执行的命令
docker run theImageName -d -p 8090:80中,-d和-p在镜像名之后,因此Docker将它们当成了dotnet AspMini.dll的启动参数,而非自身的运行配置,导致端口映射和后台运行的设置完全失效。正确命令:调整参数顺序,将选项放在镜像名称前:
docker run -d -p 8090:80 theImageName验证方式:执行正确命令后,用
docker ps查看容器列表,确认PORTS列显示0.0.0.0:8090->80/tcp,此时即可通过localhost:8090正常访问API。
内容的提问来源于stack exchange,提问作者rubgra
相关产品推荐
相关产品推荐

