windows 容器方案

栏目: 编程工具 · 发布时间: 6年前

内容简介:Windows Container提供2种运行时:其中,

1. Windows Container 运行时

Windows Container提供2种运行时: Window Server ContianerHyper-V Container

其中, Windows Server Container 与Linux Contianer容器模型一致,容器与底层操作系统共享内核,所以它们会很轻量而且运行迅速。当你在容器中启动一个进程的时候,这个进程实际上运行在宿主机上,可以使用任务管理器或者Powershell 命令 Get-Process 获取到这个进程的信息。

Hyper-V Contianer 则是一种全新的容器运行时模型,它将在宿主机上启动一个很小的虚拟机,所以容器将具备自己独立的操作系统内核。当你在Hyper-V Container中启动进程的时候,宿主机对这个进程是无感知的。Hyper-V Container提供了更好的隔离性,而且这个虚拟机被裁减得非常小,所以性能仍然会不错。

在Windows Server 2016上,你可以在2种不同的运行时之间选择;而Windows 10上虽然也提供了容器服务,但是只能运行Hyper-V Contianer。

windows 容器方案

2. Docker for Windows

2.1. windows 10

windows 10 可安装Docker-CE, Docker Community Edition for Windows

2.2. WIN SERVER 2016

WIN SERVER 2016 可安装docker-EE win server 2016可以通过以下命令安装 docker-ee

Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force

上述命令执行完成之后,需要使用以下命令检查一下是否需要重启系统。

(Install-WindowsFeature Containers).RestartNeeded

如果需要重启的话,可执行以下命令重启系统

Restart-Computer

其他

windows 其他的老版本的系统可通过Docker Toolbox下载安装

Docker Toolbox 下载链接

3. .net core 2.1 docker 运行

3.1. 环境

服务器 :win server2016 Docker-EE 开发环境 :Windows 10 专业版 .net core : 2.1.402

开发环境搭建

下载并按照.net core sdk在开发机器上: .net core SDK下载地址

按照完成后可执行以下命令查看dotnet版本:

dotnet --version

服务器环境搭建

在win server2016中按照上节方法按照Docker-EE即可

3.2. Demo

在已搭建好的开发机上找一个自己喜欢的路径,执行以下命令创建webapi项目:

dotnet new webapi -o DockerWebApi

项目创建成功之后,稍作一些改动。

修改端口

这里修改一下默认端口,使用http协议,8000端口。相关文件路径 .\DockerWebApi\Program.cs ,增加下图中红框内代码指定端口 windows 容器方案

api修改

然后再改一下默认的接口返回吧,路径 .\DockerWebApi\Controllers\ValuesController.cs ,将接口返回稍作改动一下 windows 容器方案

运行

完成以上改动以后,可以DockerWebApi目录下在执行以下命令运行看下效果

dotnet run

windows 容器方案 windows 容器方案

从图中可以看出一切正常

打包镜像

打包镜像之前,需要在DockerWebApi目录下在执行以下命令发布程序:

dotnet publish

windows 容器方案

发布后的路径在 ockerWebApi\bin\Debug\netcoreapp2.1 目录下,然后在该目录下创建Dockerfile文件,且内容如下:

# 基于microsoft/dotnet:latest构建Docker Image
FROM microsoft/dotnet:latest
 
# 创建DockerWebAPI目录
RUN mkdir /usr/local/src/DockerWebApi
 
# 设置工作路径
WORKDIR /usr/local/src/DockerWebApi
 
# 将当前文件夹下的所有文件全部复制到工作目录
COPY *.* ./
 
# 向外界暴露8000端口
EXPOSE 8000
 
# 执行dotnet DockerWebAPI.dll命令
CMD ["dotnet", "DockerWebApi.dll"]

编写完成Dockerfile之后,就可以打包镜像了,命令如下:

docker build -t net_demo:1.0.0 .

启动容器

将上一步打包好的镜像放到服务器的docker内,然后执行以下命令运行容器:

docker run -d -p 80:8000 --name net_demo net_demo:1.0.0

windows 容器方案 windows 容器方案

可以通过 http://101.132.145.15/api/values 访问我的接口


以上所述就是小编给大家介绍的《windows 容器方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

内容算法

内容算法

闫泽华 / 中信出版社 / 2018-4-30 / 58.00元

近两年来,伴随着BAT纷纷涌入自媒体平台,自媒体发展可谓迎来爆发。自媒体平台火爆起来是从今日头条异军突起而引发的。它是一款基于数据挖掘的推荐引擎产品,为用户推荐有价值的、个性化的信息,是国内移动互联网领域成长最快的产品服务之一。推荐引擎也将迎来高速发展,针对推荐引擎的优化技术也将会迎来新的机遇。 本书作者从事推荐引擎相关的内容分发相关工作,在书中对内容推荐系统进行了介绍,书的最后,介绍了自媒......一起来看看 《内容算法》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具