内容简介:Windows Container提供2种运行时:其中,
1. Windows Container 运行时
Windows Container提供2种运行时: Window Server Contianer 和 Hyper-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。
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下载安装
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 ,增加下图中红框内代码指定端口
api修改
然后再改一下默认的接口返回吧,路径 .\DockerWebApi\Controllers\ValuesController.cs ,将接口返回稍作改动一下
运行
完成以上改动以后,可以DockerWebApi目录下在执行以下命令运行看下效果
dotnet run
从图中可以看出一切正常
打包镜像
打包镜像之前,需要在DockerWebApi目录下在执行以下命令发布程序:
dotnet publish
发布后的路径在 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
可以通过 http://101.132.145.15/api/values 访问我的接口
以上所述就是小编给大家介绍的《windows 容器方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- docker 容器日志清理方案
- 容器监控方案 cAdvisor + Elasticsearch
- 容器化日志收集方案-EFK
- Kubernetes主机和容器的监控方案
- 微服务容器化构建改造(1)--整体方案
- 容器管理的8个顶级解决方案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Text Processing in Python
David Mertz / Addison-Wesley Professional / 2003-6-12 / USD 54.99
Text Processing in Python describes techniques for manipulation of text using the Python programming language. At the broadest level, text processing is simply taking textual information and doing som......一起来看看 《Text Processing in Python》 这本书的介绍吧!