浅尝Windows Server 2016——Container 容器:部署
2016-09-20 22:21
375 查看
容器上手其实挺快的,特别是在熟悉的Windows环境下。起步无非这么几件事:
1、安装Container Feature,容器功能角色
可以使用UI,当然也可以用PowerShell:
Install-WindowsFeature containers
Restart-Computer -Force
由于容器本身可以跑在物理机或者虚拟机中,可以顺便把Hyper-V也装了。
2、安装Docker
可以很炫的用PowerShell来拉取Docker引擎:
Invoke-WebRequest "https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip" -OutFile "$env:TEMP\docker-1.12.1.zip" –UseBasicParsing
默认解压到C:\Program Files\Docker
Expand-Archive -Path "$env:TEMP\docker-1.12.1.zip" -DestinationPath $env:ProgramFiles
当然,你手动用浏览器什么的https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip 下载了自己解压也是没问题的。
然后要配置路径的环境变量:
如果是临时测试,可以用:
$env:path += ";c:\program files\docker"
马上就可以继续后续的PowerShell命令。
如果以后还要用,那就:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)
重新打开PowerShell。
当然,也可以用传统的CMD Set Path=。。。。来配置。
接下来就要注册Docker Deamon服务了,然后启动docker服务。
dockerd --register-service
Start-Service docker
3、安装基本容器镜像
实际就是安装前文所提到的OS镜像。Windows Server 2016已经支持docker的pull和push,因此可以直接从docker hub来拉取OS镜像。
docker pull microsoft/windowsservercore
当然,你得连接互联网。耐心等待下载结束后,可以用docker images查看当前Host已有的镜像。
下载的镜像默认在Program Data目录下:
很长的UUID目录下面,有Files、Hives等不同目录。
另外还有空白的虚拟磁盘。这样,操作系统文件、注册表等就能够沙盒化运作。
顺手也可以再拉一个NanoServer的镜像。
4、部署容器镜像
能够运行在Windows Server Core或者Nano Server上的容器镜像基本上都能在microsoft registry上查看,可以直接在Docker的Hub上看到。
https://hub.docker.com/r/microsoft/#
当然,也可以用docker命令来查找:
docker search microsoft
我们不妨抓一个IIS来玩。
docker pull microsoft/iis
抓完了就可以用docker运行这个容器镜像。
docker run -d -p 80:80 microsoft/iis ping -t localhost
这个命令行很容易理解,后台服务形式运行一个IIS容器,将外部的80端口映射到容器内部的IIS的80端口。该容器运行个ping –t localhost的附件命令行。
为啥要运行额外的 ping –t localhost呢?这是因为没有任何进程的IIS容器很快就结束进程干掉自己了,用这个可以一直运行容器:
怎么干掉这个容器呢?
更多的命令行参数,可以参考Docker参考:
https://docs.docker.com/engine/reference/run/
1、安装Container Feature,容器功能角色
可以使用UI,当然也可以用PowerShell:
Install-WindowsFeature containers
Restart-Computer -Force
由于容器本身可以跑在物理机或者虚拟机中,可以顺便把Hyper-V也装了。
2、安装Docker
可以很炫的用PowerShell来拉取Docker引擎:
Invoke-WebRequest "https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip" -OutFile "$env:TEMP\docker-1.12.1.zip" –UseBasicParsing
默认解压到C:\Program Files\Docker
Expand-Archive -Path "$env:TEMP\docker-1.12.1.zip" -DestinationPath $env:ProgramFiles
当然,你手动用浏览器什么的https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip 下载了自己解压也是没问题的。
然后要配置路径的环境变量:
如果是临时测试,可以用:
$env:path += ";c:\program files\docker"
马上就可以继续后续的PowerShell命令。
如果以后还要用,那就:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)
重新打开PowerShell。
当然,也可以用传统的CMD Set Path=。。。。来配置。
接下来就要注册Docker Deamon服务了,然后启动docker服务。
dockerd --register-service
Start-Service docker
3、安装基本容器镜像
实际就是安装前文所提到的OS镜像。Windows Server 2016已经支持docker的pull和push,因此可以直接从docker hub来拉取OS镜像。
docker pull microsoft/windowsservercore
当然,你得连接互联网。耐心等待下载结束后,可以用docker images查看当前Host已有的镜像。
下载的镜像默认在Program Data目录下:
很长的UUID目录下面,有Files、Hives等不同目录。
另外还有空白的虚拟磁盘。这样,操作系统文件、注册表等就能够沙盒化运作。
顺手也可以再拉一个NanoServer的镜像。
4、部署容器镜像
能够运行在Windows Server Core或者Nano Server上的容器镜像基本上都能在microsoft registry上查看,可以直接在Docker的Hub上看到。
https://hub.docker.com/r/microsoft/#
当然,也可以用docker命令来查找:
docker search microsoft
我们不妨抓一个IIS来玩。
docker pull microsoft/iis
抓完了就可以用docker运行这个容器镜像。
docker run -d -p 80:80 microsoft/iis ping -t localhost
这个命令行很容易理解,后台服务形式运行一个IIS容器,将外部的80端口映射到容器内部的IIS的80端口。该容器运行个ping –t localhost的附件命令行。
为啥要运行额外的 ping –t localhost呢?这是因为没有任何进程的IIS容器很快就结束进程干掉自己了,用这个可以一直运行容器:
怎么干掉这个容器呢?
更多的命令行参数,可以参考Docker参考:
https://docs.docker.com/engine/reference/run/
相关文章推荐
- 如何重装TCP/IP协议
- XP下使用虚拟机安装配置Solaris[多图]
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Windows 8 官方高清壁纸欣赏与下载
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- 使用Windows原生命令一键清空剪贴板
- Linux下三大免费桌面虚拟机评测
- windows用windeployqt发布qt quick application程序
- 利用开源软件打造自己的全功能远程工具
- 当存储无可用空间时无法启动虚拟机
- Windows 8虚拟机不能全屏的解决方法
- 统一部署 PowerShell 5.1