Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

系列文章:https://www.cnblogs.com/alunchen/p/10121379.html

本篇文章操作系统信息

Windows:Window 10

Visual Studio:2017 15.8.0

创建项目并添加Dockerfile

在VS2017及以上版本上创建一个控制台项目,这里的名称叫【ConsoleAppDockerWindows2】。

创建DockerFile文件

1)右键项目 --> 选中【添加】 --> 选中【容器业务流程协调程序支持】

2)选择【Docker Compose】

3)目标OS:选择【Windows】

创建后的解析

创建完成后,可以看到项目中多了DockerFile文件,并且也多了docker-compose的项目。我们着重看DockerFile文件,因为此文件是程序运行在Docker中的配置文件。而docker-compose可以删除,其作用是在告诉VS所要运行docker的入口点,并且可以定义多个不同容器中的依赖关系来运行。这里不讲述docker-compose。

因为我们在VS中运行Docker,建议不要删除。

怎么运行呢?

通过命令运行Dockerfile并生成镜像

当完成创建Dockerfile文件后,在控制台可以看到此镜像已经安装在docker里面了。

并且通过 【docker ps -a】查看到已经添加到本地docker容器中。

即当在VS中创建Dockerfile时,会自动地把程序添加到本地镜像与容器中。

运行程序有很多种方法:

1)点击VS中运行 Docker 按钮,直接就可以运行

2)通过命令运行。

第一种就不介绍了,界面华完成。

第二种介绍一下。主要为了适应以后Linux的操作。

通过命令运行docker

步骤是:编译项目->添加到镜像->将镜像添加到容器

1)首先打开项目在本地包含Dockerfile的路径,路径里面必须有Dockerfile的文件。

并且修改一下Dockerfile文件,主要修改一下路径

2)然后生成镜像,运行命令【docker build -t consoleappdockerwindows2-cmd . 】

如图:

看到上图运行成功。

运行生成运行的命令,首先会去找到Dockerfile文件,然后根据此文件配置下载需要的环境。

输入【docker image】,可以看到运行镜像已经存在了

3)把镜像添加到容器中并运行

使用docker run 【镜像id】,就能运行镜像了:

下面说明说明一下Dockerfile

docker命令(FROM,COPY,RUN等)开头,每个命令将按从上到下的顺序执行。

  • FROM:指定要使用的docker镜像,在第1行中我们指定了用于运行应用程序的microsoft/dotnet:2.1-runtime-nanoserver-1803映像。
  • WORKDIR:指定image的工作目录。我们这里使用/ app作为我们的运行程序目录、/src编译目录。
  • COPY:将文件从本地文件系统复制到映像中。第一个COPY是将本地的csproj文件复制到image中,第二个COPY是将当前所有文件复制到image中。 复制我们将最初复制csproj文件并运行restore然后复制所有剩余文件并运行dotnet publish来构建我们的应用程序。

系列文章

Docker在Linux/Windows上运行NetCore文章系列

可以关注本人的公众号,多年经验的原创文章共享给大家。

posted on 2018-11-23 17:44 alun-chen 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/alunchen/p/10008929.html

Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用相关推荐

  1. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 原文:Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 转发请注明此文 ...

  2. 手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生

    手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生 1.下载并安装     a)下载:delphicbuilder10_2_3_2631.iso ...

  3. linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间

    1. 前言 本文主要讲解如何限制Linux命令程序运行的时间. Linux提供了大量的命令,每个命令都是唯一的,并且在特定的情况下使用.Linux的目标是帮助您尽可能地高效工作.Linux命令的一个属 ...

  4. 打包应用和构建Docker镜像(docker在windows上)

    在构建Docker时编译应用 一般有两种方法在构建镜像时进行打包应用.第一种方法就是使用基本的镜像,该镜像包括应用平台和构建工具,因此在Dockerfile中,复制源代码到镜像中并在构建镜像时编译ap ...

  5. hive mysql windows_Java-从MySQL到Hive导入,其中MySQL在Windows上运行,而Hive在Cent OS上运行(Horton Sandbox)...

    在任何答案和评论之前.我尝试了在Stackoverflow中找到的几个选项,但均以失败告终.以下是这些链接- 我通过命令行在Horton Sandbox中进行了尝试并成功. sqoop import ...

  6. Docker for windows挂载文件到Nginx目录踩坑小记

    前言:因为最近在学Docker,通过菜鸟教程的文档,在学到Docker安装Nginx时,挂载目录运行容器时碰到了错误,一直跑不起来,浪费了很多时间,这里记录中途的解决方法 相关教程: 菜鸟教程 这是菜 ...

  7. Docker for Windows使用简介

    在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Do ...

  8. hyper-v与Docker for windows和VMBox的冲突

    妈的,被Docker for windows坑了一波. 需要hyper-v才能运行. 但是此时电脑上的虚拟软件就不能运行了. 比如vmware和vmbox等 然后关闭了hyper-v服务还他娘的不行. ...

  9. docker eclipse打包_【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)...

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

最新文章

  1. iOS使用支付宝支付步骤
  2. Chrome开发者工具关于网络请求的一个隐藏技能
  3. 图灵4月精彩新书预告
  4. Axel与Wget下载工具
  5. gcc动态链接库基本知识
  6. Django学习记录
  7. 10.2.4 练习题
  8. jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关...
  9. javascript --- 隐藏内部实现(最小暴露原则)
  10. ZZULIOJ 1125: 上三角矩阵的判断
  11. IntelliJ IDEA 激活
  12. linux开启和关闭防火墙
  13. 每日一句20191104
  14. JAVA-初步认识-常用对象API(String类-常见功能-比较)
  15. 可行性研究报告模板 Shane版
  16. VBA(比较全的api中文帮助文档例如office,excel,outlook,PowerPoint等api文档)
  17. SQL Server~T-SQL编程基础
  18. 打印符号三角形问题java_回溯法之符号三角形问题
  19. oracle随机取名,oracle 表查询随机抽取数据
  20. 使用comm在java程序中管理本地端口[回钦波:高级软件工程师]

热门文章

  1. 西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断
  2. 概率论信息论基础(随机变量、常用概率分布、贝叶斯规则、信息论基础、结构化概率模型)
  3. Old ST-LINK firmware detected.do you want to upgrade it?已解决,stlink升级
  4. GOOGLE 分布式系统关键技术论文分析
  5. 数值运算 条件测试 、 if选择结构
  6. 最新百度翻译接口JS逆向教程
  7. php 破解加密帖子,某PHP加密文件解密过程初探 · 浮萍’s Blog
  8. java oracle 换行,oracle中Clob字段中的回车换行在jsp中展示的问题
  9. qq手机电脑消息同步_手机与电脑间如何实现文件自动同步?
  10. mysql的脚本默认存_MySQL修改默认存储引擎的实现方法