首页 新闻 会员 周边 捐助

vs2019 docker打包.netcore

0
[已解决问题] 解决于 2020-10-26 17:22

问题一:vs自动生成的dockerfile中 有复制.csproj工程文件,但是docke build 运行时报找不到 csproj,把csproj 复制到编译文件中,会报main函数运营异常。最终改变vs自动生成的dockerfile 不复制 csproj 编译正常。所有csproj 是否有必要?
问题二:编译成功后,docker run -t -p 5000:8107 镜像。。。一直显示错误。
dockerfile 文件

错误提示:

周捷Jay的主页 周捷Jay | 菜鸟二级 | 园豆:225
提问于:2020-10-26 13:25
< >
分享
最佳答案
0

1、经测试,csproj 不放到编译文件下,也能正常运行,并且显示。因为是测试界面,所以不排除系统级解决方案需要copy工程文件,目前还未有这方面的实验。
2、docker ps 中发现无占用的 端口。最后检查dockerfile 是因为 写了两个8107造成!

周捷Jay | 菜鸟二级 |园豆:225 | 2020-10-26 15:27
其他回答(2)
0

问题一:所有依赖的 csproj 都要复制到容器中
问题二:有其他容器在使用同样的端口,docker ps 看一下

dudu | 园豆:30939 (高人七级) | 2020-10-26 13:37

目前实验下来 好像工程文件不是必须 copy 。不知道是不是目前还只是 空解决方案的原因。

支持(0) 反对(0) 周捷Jay | 园豆:225 (菜鸟二级) | 2020-10-26 15:30
0

问题一: vs2019生成的 dockerfile 分两阶段,

第一阶段编译生成发布文件

第二阶段复制生成的发布文件到最终的镜像

 

小小高 | 园豆:1297 (小虾三级) | 2020-10-26 13:43

docke build 运行时报找不到 csproj,注意你docker build的最后一个参数 [.] ,代表的是发送到 docker 引擎的构建上下文。  dockerfile 中的 copy 命令是相对这个路径来的

支持(0) 反对(0) 小小高 | 园豆:1297 (小虾三级) | 2020-10-26 13:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册