我正在尝试创建由4个项目组成的ASP.NET 5解决方案的映像。结构如下:
我有一个简单的Dockerfile,看起来像这样:
FROM microsoft/aspnet
COPY . /app
WORKDIR /app
RUN ["kpm", "restore"]
EXPOSE 5004
ENTRYPOINT ["k", "kestrel"]
但不确定放在哪里。在我的解决方案的根文件夹中global.json所在的位置,还是在我的Web应用程序文件夹中我的project.json所在的位置?当然,我已经根据该文件的位置对其进行了修改。
无论如何,两者似乎都可以正常工作,因为它在我运行命令时下载了我需要的所有库
docker build -t quizzcorrector。
我的问题是码头工人告诉我
无法找到> = 1.0.0的模型
无法找到FlashTools> = 1.0.0
无法找到QuizzService> = 1.0.0
我在此线程https://github.com/aspnet/aspnet-
docker/issues/19
上看到,在多项目解决方案中,我们应该运行命令“ kpm pack”将我的应用打包为可部署和可运行的形式。
我用kpm
pack命令找不到Dockerfiles的任何示例,只有文档:https : //github.com/aspnet/Home/wiki/Package-
Manager
我当然也尝试在Dockerfile中使用 ADD 或 COPY 命令将项目的内容复制到容器的文件系统中,但是仍然是相同的错误。
谢谢你帮我
更新日期:2018年2月14日
我之前的答案没有考虑编写Dockerfile的最佳实践。它对于具有多个Web项目的解决方案也不起作用,其中每个应用程序必须在单独的Docker容器中运行。更好的方法是在开发环境中构建和发布ASP.NET
Core应用程序,然后在针对生产用途进行了优化的Docker容器中运行该应用程序。
将以下内容放入其中
FROM microsoft/aspnetcore
COPY ./publish /publish
WORKDIR /publish
EXPOSE 5000/tcp
ENTRYPOINT [“dotnet”, “QuizzCorrector.dll”]
通过运行来构建和发布项目 dotnet publish -c Release -o publish
docker build -t QuizzCorrector
请注意,microsoft/aspnetcore
Docker映像是仅用于运行时的映像,不提供.NET Core SDK,这使其在生产中更轻巧更好。
可能已经晚了,但是对于那些仍在努力使它起作用的人,我将回答这个问题。
您需要在解决方案级别创建一个Dockerfile。然后,您需要更新您的工作文件夹以使用Web项目所在的文件夹。考虑到最终的Dockerfile
kpm
和
k
实用程序已被一种
dotnet
工具取代,因此在此处。
FROM microsoft/dotnet:latest
COPY . /app
WORKDIR /app/src/QuizzCorrector
RUN ["dotnet", "restore"]
EXPOSE 5004
ENTRYPOINT ["dotnet", "run"]
救急,我導入的maven項目怎麽構建報錯,我自己下了jdk但是好像他構建用的不是我下載的,我又不知道怎麽更換 環境變量也設置了,但是他用的不是我下載和設置的jdk,我安裝在D盤,他用的是D盤的jdk,求大佬解答 ======== 上面的問題解決了但是還是報錯:
本文向大家介绍使用IDEA启动项目遇见ClassNotFoundException的解决方案,包括了使用IDEA启动项目遇见ClassNotFoundException的解决方案的使用技巧和注意事项,需要的朋友参考一下 一. 错误现象 本地开发 SpringBoot 项目的时候,在集成 MyBatis 查询数据库的时候,使用 IDEA 启动项目的时候,有时候会遇见如下的报错: Caused by:
问题内容: 将Git与Visual Studio解决方案()和Projects一起使用时,我应包括哪些文件? 问题答案: 我将以下.gitignore用于C#项目。在需要时会添加其他模式。
本文向大家介绍SpringBoot项目@Async方法问题解决方案,包括了SpringBoot项目@Async方法问题解决方案的使用技巧和注意事项,需要的朋友参考一下 现象: 1. 表面现象: 方法中输出的日志, 日志文件中找不到, 也没有任何报错(即@Async标注的方法没有执行, 也没有报错) 2. 分析现象: 日志中某个时刻之后没有了task-xxx线程的日志 原因: @Async异常方法默
我看过这个答案: 编辑。csproj文件并更正解决方案文件夹(包含packages文件夹)的相对路径为我解决了这个问题。 但是我不知道该编辑什么。 我正在Visual Studio 2013中制作一个C项目。我有一个包含三个项目的解决方案。其中一个项目需要Nuget包。 我在我的解决方案上使用Manage NuGet软件包来安装NuGet包。从那里我选择了一个需要这个包的项目。我还使用了Enabl
如您所见,存在版本冲突,但gradle似乎认识到了冲突,并应用了默认的“最新版本”策略,这正是我想要的。 但是,当尝试运行(手动或通过Android Studio)时,我会得到 对类似问题的一些回答建议ing不需要的jar,但我遇到了许多类似的冲突,而且有点失控。