Docker,vs2019下 使用.net core创建docker镜像 遇到的一些问题

 
步骤主要分为以下几步:
1、创建docker for linux 的.netcore 项目(vs 自动创建了dockerfile 如果没有需要自己创建在根目录下)
2、编译项目到指定目录下
3、build 镜像
4、 run 运行
 
针对以上几个步骤,遇到了的一些问题:
 
1、首先创建.net core 项目,选择了 docker for windows
后续build 时一直显示
重新改成了for linux 不再报错
 
2、vs 自动创建的dockerfile 文件中有 copy 工程文件csproj
但是编译文件中没有该文件,目前两种方式:一是保留vs自动创建的 dockerfile ,然后把工程文件copy到编译文件下;而是,删除copy 工程文件的代码。两者皆可运行,目前还没有发现区别。
 
3、build 一直报找不到 镜像的错误,需要拉取docker pull microsoft/dotnet dotnet
 
4、最后run的时候 docker run -it -p 5001:8100 dockercore run 成功了,但是浏览器一直不能正常访问。但是docker 内部访问正常。一是:端口权限没有开;二是:default ip 的原因
修改方案:需要 stop 和 rm 容器。然后执行docker run --privileged=true -d -p 5001:8100 --name server dockerfile *;
docker-machine ip defalut 查出 默认ip
使用默认ip 访问 可以正常访问了。
 
常用的一些 命令:
docker ps 显示容器启用情况,以及端口 和 容器ID 等
docker stop 容器ID 停止
docker rm 容器ID 移除
docker build -t 镜像名 . (. 不能少) 编译
docker run -d -p 5001:8100 镜像名 运行
docker exec -it d09306b53617 bash docke 内部运行 exit 退出
curl 运行站点结果
 
 
 dockerfile 截图

 

 

 
 
posted @ 2020-10-26 17:17  周捷Jay  阅读(922)  评论(0编辑  收藏  举报