首先下载docker for windows 并且 安装。 这其中需要显卡支持虚拟化  windows系统升级到专业版  bois 启用虚拟

  通过vs2017 创建一个net core api 项目 并且启用 docker 支持。

  为了验证是否真实发布到docker,我们将默认生成的项目代码简单处理一下,红框标记出,返回当前环境的主机名

重新生成项目,确保运行无异常。

在默认生成的项目中生成了一个 Dockerfile 文件,更改到如下

FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 5006:80
COPY publish /app/
ENTRYPOINT ["dotnet", "dockercore.dll"]

说明一下配置:

FROM microsoft/aspnetcore:2.0 是使用改镜像,比microsoft/dotnet 好的是不用主动设置 ASPNETCORE_URLS

WORKDIR 工作路径 该路径指的是在docker 容器中的路径

EXPOSE 端口映射 5006 是外部机器 80 是镜像容器中的

COPY     publish 在相对此Dickerfile的发布文件夹   /app/是值得容器中的路径

ENTRYPOINT  执行命令

在说完基本配置之后 我们再来看一下这些配置能起到什么作用

首先按照正常的方式发布到文件系统  这里我发布到 \bin\Debug\netcoreapp2.0\Docker\publish

其中Docker 和publish 都是自己新建并配置到发布路径

然后将上面编辑好的Dockerfile 文件copy 到 \bin\Debug\netcoreapp2.0\Docker  让Dockerfile 跟publish 文件夹保持同级

在Docker 文件夹里面 执行Power shell /cmd

第一, build 一个镜像

  docker build –t dockercorei ./     

dockercorei  镜像名称

./    路径 基于当前路径

这里他会自动pull microsoft/aspnetcore:2.0 镜像 并创建dockercorei

可以执行 docker images 查看

删除执行 docker rmi dockercorei(镜像名/id)

第二,基于我们创建的镜像运行一个容器

docker run -it -p 5006:80 --name dockercore dockercorei

dockercore 是容器名称

dockercorei 是镜像名称

通过浏览器访问  成功

我们再新的powershell重新运行一个容器

docker run -it -p 5007:80 --name dockercore dockercorei

在浏览器查看端口5007

发现主机名有所变化。后续可以通过pull nginx 镜像 实现一下负载均衡

需要使用的命令

docker build    创建镜像

docker images  查看所有镜像

docker run  imagename     运行容器(配合其他参数)

docker ps –a  查看容器状态

docker ps –s  查看容器状态 信息更全

docker stop  containername/id 容器停止

docker start  containername/id  启动容器

docker rm containername/id 删除容器

docker rmi  imagename  删除镜像 需要先删除容器

windows 上用 docker 部署aspnetcore 2.0的更多相关文章

  1. 在Windows上使用Docker运行.NetCore

    今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 :1 ...

  2. 在Windows上使用Docker运行.NET COE应用

    在Windows上使用Docker运行.NET COE应用 执行步骤: 1:安装Docker For Windows(注意:docker for windows-64位Windows 10.必须开启 ...

  3. 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)

    这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...

  4. flask在windows上用mod_wsgi部署

    flask在windows上用mod_wsgi部署也是折腾了不少时间,下面就总结下. 首先下载Apache httpd,我认为Apache Hans比较好: 一般这种情况下,你的python环境已经安 ...

  5. Windows 上安装docker

    Windows 上安装docker //(第一种)下载boot2docker https://github.com/boot2docker/windows-installer/releases //( ...

  6. 云服务器上利用Docker部署Django项目

    转载别人的,请看下面链接 云服务器上利用Docker部署Django项目

  7. DotNet跨平台 - docker部署.net core2.0项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  8. Docker部署ELK 7.0.1集群之Kibana安装介绍

    1.下载镜像 [root@vanje-dev01 ~]# docker pull kibana: 2.安装部署 2.1 创建宿主机映射目录 [root@vanje-dev01 ~]# mkdir /e ...

  9. Docker 部署Jira8.1.0

    Jira与Confluence一样,都需要用到独立的数据库,对于数据库的安装我们不做介绍,主要介绍如何用Docker部署Jira以及对Jira进行破解的操作. 1.数据库准备 关于数据库官方文档说明: ...

随机推荐

  1. java中的全局变量如何实现?ThreadLocal~

    全局变量就是不管你在哪里,都能够直接引用的变量,还不用担心各种问题.每个语言都有自己的全局变量,我想! 一般地,面向过程的语言当中,可能就是一个声明在最前面的变量,后面的代码直接引用,就成了全局变量! ...

  2. 常见的anaconda的操作

    以前对anaconda的理解比较少,以为它就是一个比较大的python库,现在发现它原来不止是这样,它还有很多其他用途. Anaconda指的是一个开源的Python发行版本,其包含了conda.Py ...

  3. chrome浏览器被reimage pair 劫持怎么处理

    不知道什么原因chrome浏览器被reimage pair劫持了,只要在浏览器内部一按回车,就马上进入了reimage pair下载的界面. 在网上找了很多解决方法,最后才在google的chrome ...

  4. NopCommerce用.net core重写ef

    最近看了NopCommerce源码,用core学习着写了一个项目,修改的地方记录下.项目地址 NopCommerce框架出来好久了.18年的第一季度 懒加载出来后也会全部移动到.net core.那么 ...

  5. OS之进程管理---多线程模型和线程库(POSIX PTread)

    多线程简介 线程是CPU使用的基本单元,包括线程ID,程序计数器.寄存器组.各自的堆栈等,在相同线程组中,所有线程共享进程代码段,数据段和其他系统资源. 传统的的单线程模式是每一个进程只能单个控制线程 ...

  6. Android--Menus

    前言 本篇博客讲解一下菜单Menu的使用.菜单在windows应用中使用十分广泛,几乎所有的windows应用都有菜单,Android中也加入了菜单的支持.从官方文档了解到,从Android3.0(A ...

  7. [Linux][Mac]如何使用SSH登陆远程Linux服务器&使用SCP下载远程终端文件

    --------------------------- 2017-01-16 初版 2017-01-17 增加ssh登录端口修改 -------------------------- 一.使用ssh ...

  8. idea启动多个tomcat失败

    Intellij idea中,为在本地调试两个系统之间的调用,配置两个本地tomcat server,设置不同的端口号,如8081和8082,Deploy中加入两个系统各自的Artifact xxx: ...

  9. 微信支付之手机H5支付实践

    最近项目中支付部分涉及到微信支付,使用的是h5支付,官方文档中是没有demo的,所以摸着石头过河,将踩过的坑记录如下. 一 应用场景 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前 ...

  10. leetcode — longest-valid-parentheses

    import java.util.Stack; /** * Source : https://oj.leetcode.com/problems/longest-valid-parentheses/ * ...