Docker Image上找不到来自wwwroot的Assetss
我已经得到了Linux VM Docker Image,但是我遇到了一个困难。
我的wwwroot文件夹中的所有资产都找不到
加载资源失败:服务器响应状态为404(未find)
我已经包括在内
"webroot": "wwwroot"
在project.json文件中,但没有解决问题。 还有一件事是从VS 2015(在ISS Express上)运行一切正常 – 是否有我应该包括在Dockerfile中的东西?
编辑:
我将VOLUME添加到docker文件,但没有帮助:
FROM microsoft/aspnet COPY . /app WORKDIR /app RUN ["kpm", "restore"] VOLUME ["/wwwroot"] EXPOSE 5004 ENTRYPOINT ["k", "kestrel"]
你在这里通过例子工作: asp ? 我对asp不太了解,但是我觉得你们差不多。 首先,我不认为你需要修改Dockerfile。 您可以随时挂载音量,VOLUME关键字只是在必要时声明。 但是,你需要修改你的project.json文件,就像你所显示的那样,有一点不同:
"webroot": "/webroot"
我假设这个名字是“webroot”,查找目录(对于项目)是“/ webroot”。 然后,构build它,如示例所示:
docker build -t myapp .
所以,当你这样做的时候:
docker run -t -v $(pwd)/webroot:/webroot -d -p 80:5004 myapp
这个docker run命令所做的是从当前目录($ pwd)取得你的webroot目录,并把它挂载在容器中,并调用mount / webroot。 换句话说,你的容器必须引用/ webroot(不是webroot,相对于我认为的WORKDIR)。
我认为底线是这里有两件事。 第一个是“build立”形象,第二个是运行它。 当你运行它时,你提供了你想要挂载的音量。 只要你的应用程序重复project.json文件的“webroot”值作为寻找网页的地方,那么这将工作。
- 在Docker容器中的IIS中部署ASPNET核心应用程序
- ASP.NET Core HttpClient不能在容器中进行HTTPS调用
- 如何dockerize一个ASP.NET Core 2.0应用程序?
- 为什么dockerbuild立我的复制path与临时目录前缀?
- 在Docker镜像启动之间坚持ASP.NET Coreauthentication
- 运行.net核心docker镜像,说应用程序启动了,但浏览时却给出了“This site can not be reached”的错误
- COPY。 。 命令在Dockerfile for ASP.NET
- 使用多项目解决scheme的ASP.NET 5:docker构build
- 在Docker容器ASP.NET应用程序中集成Windows身份validation