另一篇:在 Visual Studio 中部署 ASP.NET Core 应用

 操作步骤

1. 安装 Docker For Windows(安装之前 Windows 需要开启 Hyper-V 虚拟机功能

https://store.docker.com/editions/community/docker-ce-desktop-windows

2. 新建 ASP.NET Core Web 应用程序,编译成功

3. 将项目发布到目标位置。

4. 在发布目录下创建 Dockerfile 文件

FROM microsoft/dotnet:latest
COPY . /app
WORKDIR /app
EXPOSE 8000/tcp
ENV ASPNETCORE_URLS http://*:8000
ENTRYPOINT ["dotnet", "Demo_Core_Web_1029.dll"]

这里我们简单说说以上几条 Dockerfile 中的指令的作用:

FROM microsoft/dotnet:latest
第一个指令必须为 FROM。
此指令用于初始化新的镜像生成阶段,并为剩余指令设置基础映像。
本示例的基础映像是微软发布的 microsoft/dotnet ,这个镜像将确保容器包含运行 ASP.NET Core 应用所需的一切基础环境。

COPY publish /app
复制当前目录下编译好的项目源码到 Docker 镜像里的 /app 目录。

WORKDIR /app
WORKDIR 指令 为 Dockerfile 中的任何 RUN,CMD,ENTRYPOINT,COPY 和 ADD 指令设置工作目录。
如果 WORKDIR 不存在它将被创建,Dockerfile 中之后的命令都会在这个 /app 文件夹内执行。

EXPOSE 8000/tcp
默认情况下,Docker 容器不会暴露任何网络端口到外部。这里通过 EXPOSE 将内部端口映射到外部 8000 端口。

ENV ASPNETCORE_URLS http://*:8000
ENV 指令将在容器里设置环境变量。ASPNETCORE_URLS 这个变量告诉 ASP.NET Core 应该绑定到哪个网卡的哪个端口上。

ENTRYPOINT ["dotnet", "Demo_Core_Web_1029.dll"]
Dockerfile 的最后一行通常都会设置一个入口程序,这里用 dotnet Demo_Core_Web_1029.dll 命令启动程序。

5. Dockerfile 编写完成后,开始构建镜像。(注意结尾的句点

docker build -t web007 .

Docker 是通过 docker build 指令执行 Dockerfile 中的一系列命令来完成自动构建镜像的。

6. 镜像构建完成后,即可运行这个 .NET Core 应用的容器了。

docker run -it -p 8000:8000 web007

运行 docker images 命令可列出全部镜像。

-it 参数的作用是让 Docker 以交互模式运行这个容器。当你想要停止这个容器的时候可按 Ctrl+C 结束。

7. 打开浏览器输入 http://localhost:8000/ 即可访问应用。

参考资料

https://www.hi-linux.com/posts/60777.html
https://www.cnblogs.com/bluesummer/p/8087326.html

最新文章

  1. Jmeter之逻辑控制器(Logic Controller)
  2. Freemarker-数字默认格式化问题
  3. 控制HTML的input控件的输入内容
  4. 【BZOJ3673】【可持久化并查集】可持久化并查集 by zky
  5. RichEdit中插入带背景色文本的一种思路
  6. (Spring加载xml时)org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
  7. Zookeeper为什么总是奇数个
  8. AutoCompleteTextView 和 TextWatcher 详解
  9. VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系
  10. TensorFlow[1]:概念和简例
  11. Android项目开发填坑记-Fragment的onBackPressed
  12. JS 对Array集合排序的方法
  13. leetcode刷题--两数之和(简单)
  14. C99标准的柔性数组 (Flexible Array)
  15. Spring Boot 构建电商基础秒杀项目 (十二) 总结 (完结)
  16. oracle 自定义比较函数
  17. 理解Docker
  18. Vue SSR 配合Java的Javascript引擎j2v8实现服务端渲染2创建Vue2+webpack4项目
  19. solr创建业务域以及指定中文分析器IK
  20. MongoDB集群配置笔记二(实战)

热门文章

  1. Cayley-Hamilton定理与矩阵快速幂优化、常系数线性递推优化
  2. lp3676 小清新数据结构题
  3. 2019年领航杯 江苏省网络信息安全竞赛 初赛部分writeup
  4. #C++初学记录(字符串与指针操作库函数)
  5. Perl字符贪吃蛇
  6. [Java.File]如果写 File filesFolder = new File("/") ,在windows系统中,filesFolder 会去找哪个盘符? 答案:程序运行路径的根盘符.
  7. Javascript中的String.format方法实现
  8. CentOS 7 yum Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile
  9. Mapbox显示地图案例
  10. Win10 x64 pnglib Debug