【发布时间】:2018-04-14 03:25:01
【问题描述】:
我有我的Dockerfile:
FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /build
COPY . .
RUN dotnet restore
RUN dotnet publish -c Release -o output
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build /build/output .
ENTRYPOINT ["dotnet","TestDockerApi.dll"]
我正在使用:
docker build -t testdocker/api .
然后使用 :
从镜像运行容器docker run testdocker/api
我可以在我的控制台上看到以下消息:
托管环境:生产
内容根路径:/app
现在收听:http://[::]:80
申请开始。按 Ctrl+C 关闭。
我正在尝试使用 http://localhost/app/TestDockerApi/Values 访问,但它不起作用。
我是否需要使用 docker 镜像 IP 来访问它。
我可以在 Entrypoint 中看到一些建议这样做的教程:
ENTRYPOINT ["dotnet","TestDockerApi.dll","--server.urls","http://0.0.0.0:5000"]
然后在运行容器时,映射端口:
docker run -p 80:5000 testdocker/api
有什么方法可以在不使用端口转发的情况下访问 API?我只是想把基础知识弄好,我应该做什么以及应该做什么。
【问题讨论】:
-
我注意到我完全理解您的问题,但是您是否尝试过 docker run testdocker/api -p 80:80?或者您的主机上是否可能已经在 80 上运行某些东西?
标签: docker containers dockerfile