系列文章: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文章系列

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

Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用的更多相关文章

  1. Docker在Windows上的初体验

    作为Docker的初学者,我有几个疑问,找到了答案,并实践了一下,希望对和我一样的初学者有帮助: 1.Docker是什么? 大家对虚拟机应该比较熟悉,虚拟机和docker都是为了实现隔离. 虚拟机隔离 ...

  2. windows上,任务管理器中,进程命令行太长怎么办

    一.前言 在windows上,有时候需要查看进程命令行,但是有的进程的命令行太长了,很难看全 此时,可以使用下面的方法解决(红框改为自己要查看的进程即可): C:\Users\Gaoyu>wmi ...

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

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...

  4. docker 在windows上的使用

    Docker ToolBox 安装 1.首先,安装Docker ToolBox,其中包含了Docker三剑客: docker , docker-machine 和 docker-compose . 安 ...

  5. Docker 在Windows上的安装

    1. 软件从Docker官网下载,进行安装,安装后,能看到如下界面. 2. 安装后,查看Docker 版 本信息. 3. 配置加速器 (1)选择setting. (2)依次选择,并填写自己的加速器地址 ...

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

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

  7. DOCKER在windows上安装与配置

    1.下载程序 安装包 https://github.com/boot2docker/windows-installer/releases(这个地址国内下载很慢) 用这个: https://get.da ...

  8. SQL Server 2019 Linux Docker 在主机上以其他非根用户的身份运行容器

    docker logs mssql2019SQL Server 2019 will run as non-root by default.This container is running as us ...

  9. 解决windows上安装TortoiseSVN后不能使用命令行问题

    一般我们安装TortoiseSVN的时候都是一路next安装好之后就右键开始使用.但是有时候我们需要在windows的命令窗口下执行SVN命令.这时候我们就会发现svn help之后显示没svn这个命 ...

随机推荐

  1. python_flask项目(BBS)_01

    项目文件用途说明: config.py   ,  此文件主要存储一些配置信息,如数据库连接串.debug模式串等. exts.py      ,  此文件装载第三方库实例对象,如sqlalchemy ...

  2. VS中Debug与Release、_WIN32与_WIN64的区别

    一.Debug与Release 1.  区别 Debug——调试版,生成的.exe中包含很多调试信息,若直接发包,比较大: Release——发布版 2.  如何区分是Debug编译还是Release ...

  3. hadoop2.7单节点

    $ sudo apt-get install ssh$ sudo apt-get install rsync 修改文件 etc/hadoop/hadoop-env.sh # set to the ro ...

  4. python学习,excel操作之xlsxwriter常用操作

    from datetime import datetime import xlsxwriter #打开文件 workbook = xlsxwriter.Workbook('Expenses03.xls ...

  5. 1.Spring AOP应用

    首先咱们来了解一下具体的业务场景(这是个真实的项目的业务场景):具体的业务是这样的,现在系统中有六十多个主档(功能模块),每个主档都有新增.修改.删除功能,当我们在对每个主档做这些操作时需要对其记录日 ...

  6. DB2日常维护常用命令

    1.检查是否有僵尸进程 ps -emo THREAD | grep -i Z | grep -i 实例名 2.处理死锁  --第一步:查看所有死锁  db2 get snapshot for lock ...

  7. Jenkins可用环境变量列表以及环境变量的使用(Shell/Command/Maven/Ant)

    一.可用环境变量列表(以下来自google翻译): BRANCH_NAME 对于多分支项目,这将被设置为正在构建的分支的名称,例如,如果您希望从而master不是从特征分支部署到生产. CHANGE_ ...

  8. 细说SpringDI Setter注入

    依赖注入(DI)是一个过程,通过这个过程,对象可以通过构造函数参数,工厂方法的参数或者在构造或返回对象实例后设置的属性来定义它们的依赖关系从工厂方法.然后容器在创建bean时注入这些依赖关系.这个过程 ...

  9. 5.AutoCompleteTextView、自定义广播

    新建信息 布局:自动出来的是系统的组件,里面是listview,写ontextchanglis也行 <LinearLayout xmlns:android="http://schema ...

  10. SVG之颜色、渐变和笔刷的使用

    一.颜色 我们之前使用英文来表示颜色并进行填充,比如: <circle cx="800" cy="120" r="110" strok ...