1. 安装docker-desktop,windows环境安装包

官方网站:https://www.docker.com/

2.注册登陆Docker账号

安装成功后,在官方网站注册一个账号,使用账号登陆docker,然后windows的Hyper-V虚拟机就有一个新的虚拟机了

注意:登陆Docker不能使用邮箱作为账号,否则使用Docker的编译发布镜像的时候,会出现无法验证的错误

Get https://registry-1.docker.io/v2/microsoft/dotnet/manifests/latest: unauthorized: incorrect username or password

3.创建core的项目,确保能在本地运行。测试项目绑定本地的5000端口

     public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://*:5000")
.UseStartup<Startup>()
.Build();

4.使用vs发布生成代码

5.发布成功后,publish文件夹添加Dockerfile文件,文件内容如下

# 基于microsoft/dotnet:latest构建Docker Image
FROM microsoft/dotnet:latest # 进入docker中的/usr/local/src目录
RUN cd /usr/local/src # 创建DockerWebAPI目录
RUN mkdir DockerTest # 设置工作路径
WORKDIR /usr/local/src/DockerTest # 将当前文件夹下的所有文件全部复制到工作目录
COPY *.* ./ # 向外界暴露5000端口
EXPOSE # 执行dotnet DockerWebAPI.dll命令
CMD ["dotnet", "DockerTest.dll"]
microsoft/dotnet:latest 是最新的包,打包后的镜像文件可能有1G以上

microsoft/dotnet:2.1-aspnetcore-runtime 2.1的运行时包,比较小

其他.net core 镜像环境可以自己去找

6.发布到docker,红字部分为docker镜像名称

docker build -t dotnet/dockertest .

7.启动镜像

docker run -it -p : dotnet/dockertest

成功后如下图所示

-----------------------------------------

附加:

错误1:

启动镜像时,*.deps.json缺少

解决办法:

项目文件csproj,添加配置

    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

修改配置后从步骤4开始重新发布!

最新文章

  1. 2016弱校联盟十一专场10.5---As Easy As Possible(倍增)
  2. LoadRunner 脚本学习 -- 指针基础
  3. 【springmvc】之常用的注解
  4. openstack 正常流量
  5. java学习笔记(10) —— ActionContext、ServletActionContext、ServletRequestAware用法
  6. Acdream a + b
  7. MapReduce调度与执行原理之任务调度
  8. 新秀翻译(两)——使用Java通用配置模板方法模式
  9. js操作select和option
  10. CodeForces 721B
  11. Nodejs express 获取url参数,post参数的三种方式
  12. 使用数据库乐观锁解决高并发秒杀问题,以及如何模拟高并发的场景,CyclicBarrier和CountDownLatch类的用法
  13. 02_Nginx基本配置与参数说明 + 辅助命令
  14. SQL操作符、通配符等
  15. 转:浅谈SimpleDateFormat的线程安全问题
  16. 解决使用微软模拟器VS Emulator for Android在VS2017 Xamarin开发中不能调试程序的问题。
  17. Spring Boot + Spring Cloud 实现权限管理系统 权限控制(Shiro 注解)
  18. dockerfile介绍
  19. 如何调试触发器-MSSQL (转帖)
  20. sleep与信号唤醒的问题 &amp; 内核对信号的处理方式 &amp; udelay

热门文章

  1. html学习笔记:基本结构,排列清单,表格
  2. Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
  3. 源码安装mysql,及主从同步
  4. 时间序列算法理论及python实现(1-算法理论部分)
  5. pip 安装下载好的tensorflow
  6. C++ double 小数精度控制
  7. 同时开左右两个SAPGUI编辑器显示同一段ABAP代码
  8. 什么是Load Average?
  9. Linux下apt-get的软件一般安装路径
  10. 写一个简单的shellcode