windows 上用 docker 部署aspnetcore 2.0
首先下载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的更多相关文章
- 在Windows上使用Docker运行.NetCore
今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 :1 ...
- 在Windows上使用Docker运行.NET COE应用
在Windows上使用Docker运行.NET COE应用 执行步骤: 1:安装Docker For Windows(注意:docker for windows-64位Windows 10.必须开启 ...
- 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)
这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...
- flask在windows上用mod_wsgi部署
flask在windows上用mod_wsgi部署也是折腾了不少时间,下面就总结下. 首先下载Apache httpd,我认为Apache Hans比较好: 一般这种情况下,你的python环境已经安 ...
- Windows 上安装docker
Windows 上安装docker //(第一种)下载boot2docker https://github.com/boot2docker/windows-installer/releases //( ...
- 云服务器上利用Docker部署Django项目
转载别人的,请看下面链接 云服务器上利用Docker部署Django项目
- DotNet跨平台 - docker部署.net core2.0项目
参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...
- Docker部署ELK 7.0.1集群之Kibana安装介绍
1.下载镜像 [root@vanje-dev01 ~]# docker pull kibana: 2.安装部署 2.1 创建宿主机映射目录 [root@vanje-dev01 ~]# mkdir /e ...
- Docker 部署Jira8.1.0
Jira与Confluence一样,都需要用到独立的数据库,对于数据库的安装我们不做介绍,主要介绍如何用Docker部署Jira以及对Jira进行破解的操作. 1.数据库准备 关于数据库官方文档说明: ...
随机推荐
- php--isset()、is_null() 、empty()
开发中经常会遇到验证某个参数是否是null或者是否为空. 一.isset().is_null() .empty() : isset():检测变量是否设置,并且不是 NULL.如果变量没有赋值 或者 变 ...
- Oracle sql共享池$sqlarea分析SQL资源使用情况
遇到需要排查一个系统使用sql的情况,可以通过查询Oracle的$sql.$ssssion.$sqlarea进行统计排查 排查时可以先看一下$sql和$session的基本信息 select * fr ...
- 机器学习入门06 - 训练集和测试集 (Training and Test Sets)
原文链接:https://developers.google.com/machine-learning/crash-course/training-and-test-sets 测试集是用于评估根据训练 ...
- app测试之专项测试
专项测试包含很多东西,安装.升级.卸载.性能.安全.网络.随机等等,这些都属于专项测试 一个app的正常到用户手里使用,功能是最基础的测试,专项测试测试主要的. 下面介绍一些常用的专项测试: 1.多任 ...
- java~springboot~h2数据库在单元测试中的使用
单元测试有几点要说的 事实上springboot框架是一个tdd框架,你在进行建立项目时它会同时建立一个单元测试项目,而我们的代码用例可以在这个项目里完成,对于单元测试大叔有以下几点需要说明一下: 单 ...
- 【C#写日志两个简单方法】
方法一:以日期为日志文件名. public void WriteLog(string msg) { string filePath = AppDomain.CurrentDomain.BaseDire ...
- [UWP]为什么ContentControl的ControlTemplate里放两个ContentPresenter会出问题(绕口)
1. 简单的HeaderedContentControl 上周五收到反馈,在一个ContentControl的ControlTemplate中放两个ContentPresenter会出错.出错的例子是 ...
- IDEA的几个常用配置,日常开发必备。
用了IDEA有很长时间了,身边的同事朋友也都慢慢的开始都从Eclipse切换到IDEA了,其实无论是Eclipse还是IntelliJ IDEA都是开发工具而已,各自都有优点.但是刚从Eclipse切 ...
- Python和Java编程题(六)
1.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时, ...
- vmware vcsa-6.5 网络架构之虚拟机的分布式交换机
一.配置VDS 必须来用vcenter server来配置 下面一些理论是抄的王老师的,供大家学习,主意在于学习技术,分享知识. 1.VDS架构图如下: 2.架构图里面有两个逻辑层,数据面板,管理面板 ...