我正在用一个基本的.NET核心项目测试Docker。我从此docker文件构建图像:

FROM microsoft/dotnet:latest

COPY . /app

WORKDIR /app/API

RUN ["dotnet", "restore"]

RUN ["dotnet", "build"]

EXPOSE 5000/tcp

CMD ["dotnet", "run", "--server.urls", "http://*:5000"]

我运行它,它运行完美。现在唯一的问题是,它在什么IP上运行?

我正在Windows上运行Docker!

问候

最佳答案

您已经在内部公开了端口,因此我唯一建议的另一件事就是在启动镜像时也检查您是否正在打开端口:
docker run -it -p 5000:5000 <imagename>
这会将实例内部的端口5000打开到本地计算机上的端口5000,然后应该可以在127.0.0.1:5000localhost:5000上访问。

您还应确保在Main()上的Program.cs.UseUrls("http://*:5000/")WebHostBuilder中的ojit_code中接受任何主机名。

关于windows - Windows的Docker IP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41709354/

10-16 16:11