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文章系列
可以关注本人的公众号,多年经验的原创文章共享给大家。
转载于:https://www.cnblogs.com/alunchen/p/10008929.html
Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用相关推荐
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 原文:Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 转发请注明此文 ...
- 手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生
手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生 1.下载并安装 a)下载:delphicbuilder10_2_3_2631.iso ...
- linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间
1. 前言 本文主要讲解如何限制Linux命令程序运行的时间. Linux提供了大量的命令,每个命令都是唯一的,并且在特定的情况下使用.Linux的目标是帮助您尽可能地高效工作.Linux命令的一个属 ...
- 打包应用和构建Docker镜像(docker在windows上)
在构建Docker时编译应用 一般有两种方法在构建镜像时进行打包应用.第一种方法就是使用基本的镜像,该镜像包括应用平台和构建工具,因此在Dockerfile中,复制源代码到镜像中并在构建镜像时编译ap ...
- hive mysql windows_Java-从MySQL到Hive导入,其中MySQL在Windows上运行,而Hive在Cent OS上运行(Horton Sandbox)...
在任何答案和评论之前.我尝试了在Stackoverflow中找到的几个选项,但均以失败告终.以下是这些链接- 我通过命令行在Horton Sandbox中进行了尝试并成功. sqoop import ...
- Docker for windows挂载文件到Nginx目录踩坑小记
前言:因为最近在学Docker,通过菜鸟教程的文档,在学到Docker安装Nginx时,挂载目录运行容器时碰到了错误,一直跑不起来,浪费了很多时间,这里记录中途的解决方法 相关教程: 菜鸟教程 这是菜 ...
- Docker for Windows使用简介
在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Do ...
- hyper-v与Docker for windows和VMBox的冲突
妈的,被Docker for windows坑了一波. 需要hyper-v才能运行. 但是此时电脑上的虚拟软件就不能运行了. 比如vmware和vmbox等 然后关闭了hyper-v服务还他娘的不行. ...
- docker eclipse打包_【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)...
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
最新文章
- iOS使用支付宝支付步骤
- Chrome开发者工具关于网络请求的一个隐藏技能
- 图灵4月精彩新书预告
- Axel与Wget下载工具
- gcc动态链接库基本知识
- Django学习记录
- 10.2.4 练习题
- jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关...
- javascript --- 隐藏内部实现(最小暴露原则)
- ZZULIOJ 1125: 上三角矩阵的判断
- IntelliJ IDEA 激活
- linux开启和关闭防火墙
- 每日一句20191104
- JAVA-初步认识-常用对象API(String类-常见功能-比较)
- 可行性研究报告模板 Shane版
- VBA(比较全的api中文帮助文档例如office,excel,outlook,PowerPoint等api文档)
- SQL Server~T-SQL编程基础
- 打印符号三角形问题java_回溯法之符号三角形问题
- oracle随机取名,oracle 表查询随机抽取数据
- 使用comm在java程序中管理本地端口[回钦波:高级软件工程师]
热门文章
- 西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断
- 概率论信息论基础(随机变量、常用概率分布、贝叶斯规则、信息论基础、结构化概率模型)
- Old ST-LINK firmware detected.do you want to upgrade it?已解决,stlink升级
- GOOGLE 分布式系统关键技术论文分析
- 数值运算 条件测试 、 if选择结构
- 最新百度翻译接口JS逆向教程
- php 破解加密帖子,某PHP加密文件解密过程初探 · 浮萍’s Blog
- java oracle 换行,oracle中Clob字段中的回车换行在jsp中展示的问题
- qq手机电脑消息同步_手机与电脑间如何实现文件自动同步?
- mysql的脚本默认存_MySQL修改默认存储引擎的实现方法