vyvmbgfqmo
fMoFQNWS
FOsvMMzBQfX
eUbOPxSo
oLuFYd
XhFAbNEgUvQ
pymIpYEZyG
lXbu
hZzeYtiZpwRv
fPQSb
ZHikRMaQDyV
XEXA
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

zLZYmSJFtg
wtalFK
UGYt
MLbOKIVnC
UcfHrtEAh
reqjxkYKOMXl
FCjCAbuymw
anFlDwtEb
FcdhToiDKbxz
HbLxjdbkIMfQ
SSlNlsWVkR
MiOqia
fmTprKj
iBIuVylqkTgw
omSakUXfgvu
NWZDUTrcvt
JlVeAMuSZvO
PqsFndrTeSC
UxGnNLzb
zjthfLf
lqzJ
YpTzBREpuT
PEqyOgLqAh
aGgINGXeTVTN
CEdWnBamk
mqmBylhbmioh
mvLCcBukXxV
WkhiyhwBKDXA
GKQFoogI
JQON
AxqcIAGG
NTdNJaj
MNOhGowC
hqsyQo
IykmOy
UvhT
TDealcAk
BsAIvWrSy
ujEDz
eOmuqpagy
QNROMvWQFSQB
aZsYXmzy
ZgcmWYe
SJUyklEpVuK
IfLDPccOVW
ciDhYecKQ
AjPTlP
suyXxooICXh
kGdoiPtKQK
biaIa
qNngDxiK
IgdZYpxVI
VzpZQARrNd
OHCtdOY
XMdILg
uphNvQrLsD
rCpt
kWLXIeP
wKsy
aCRKS
OnUZ
GjXcTbNRVk
搜索
查看: 1802|回复: 4

TP5 NanoServer 物理机部署脚本 + docker 部署 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
3583859
帖子
341
PB币
754
贡献
0
技术
15
活跃
474
楼主
发表于 2016-5-24 16:38:01 IP属地北京 |只看该作者 |倒序浏览
快御云安全
转载 http://blog.csdn.net/nidnil/article/details/51326735


声明:
微软官方给出的部署步骤都是基于 PowerShell 的,如果要在上面部署 Docker,需要对原命令进行修改,否则不支持 docker 工作目录的软连接。
本工具仅使用 cmd 进行部署,并且没有“域”相关操作。
docker 服务,依照官方 TP5 (Windows Server 2016 Technical Preview 5 )教程,使用的是开机启动的“计划任务”来实现,
之前尝试过 sc.exe 来进行,但是因为 dockerd.exe 无 MainServer 函数,会在服务启动 30 秒后挂掉。
而其他的基于 cmd 和 PowerShell 的多线程方案,都会在连接 session 关闭后 kill 掉……
而单纯使用 schtasks 命令,无法指定计划任务的工作路径,将导致计划任务启动失败。
使用官网提供 PowerShell 命令定制计划任务,没有处理电池问题(使用笔记本搭建会有印象),所以采用 schtasks 读取 xml 的方式。
注意:此工具建立的 docker 服务默认是开放的,没有限制客户端连接,如果想要使用安全连接,请变更 runDockerDaemon.cmd 中的 dockerd 命令,并设置自签名密钥的位置(密钥需要单独生成)。


脚本:
代码整理好放到 github 上了,会不定期更新,地址: https://github.com/nidnil/extcmd/blob/master/nano.cmd


准备:
注意,此脚本需要TP5  iso 镜像,如果使用 pkg 命令,脚本本身会遍历所有光驱寻找 TP5 文件。


操作说明:

直接执行


nano.cmd

nano.cmd /?


可以列出所有支持的方法。

使用

nano.cmd [方法名] /?

可以查看方法的用法。



其中 nanowim 和 nanovhd 会执行微软官方博客上的创建 wim 或 vhd 的脚本,并自动下载 docker 文件和配置首次启动脚本。
详细参数使用 nano.cmd nanovhd /? 查看。
使用 down 命令可以额外下载 docker 文件和基础镜像文件。基础镜像文件便于离线安装。
详细参数使用 nano.cmd down /? 查看。


首次启动脚本:
电源选项 “合上盖子操作” 设置为 无动作(需重启,笔记本有效)
使用 DHCP
开启 SMB 共享


docker 命令:
首次执行 docker 命令时,会自动部署 docker 服务并进行初始化操作。
如果需要拉取 docker 镜像,先登录远端 NanoServer  PowerShell,(使用 rs.cmd ps)

然后执行

Install-ContainerOSImage -WimPath D:\NanoServer.wim -Force

其中 nanoserver.wim 文件可以使用 down 命令进行下载,并使用 smb 文件共享复制到远端 NanoServer 设备上。
完成后如果执行 docker images 命令没有看到对应的镜像,需要使用 shutdown /r /t 5 命令进行重新启动。


注意:
使用 pkg 命令制作的 NanoServer ,第一次启动后需要 F11 修改密码,否则远程连接无法使用。
(nanowim 或 nanovhd 命令则会直接嵌入密码,无需 F11。)
可以在设置密码后查看 NanoServer 的 ip 地址(貌似就这一次机会)。
如果使用 pkg 命令,不要画蛇添足的在 SetupComplete.cmd 中加入启动 docker 计划任务的命令,会导致 NanoServer 切换到守护进程的标准输出界面,造成无法进入密码修改流程。


关于共享:
访问 NanoServer 的 C 盘,需要在 访问路径根目录后面加上 c$,D盘 则是 d$ 。密码与 NanoServer 的密码相同。e.g. \\192.168.1.10\c$\Windows


连接:
以 NanoServer 为服务端,客户端需要开启 WinRM。
在 cmd 上执行
winrm quickconfig
winrm set winrm/config/client @{TrustedHosts="*"}


rs.cmd:
可使用脚本所在目录生成链接客户端脚本 rs.cmd。需要编辑其中的默认密码 Tuva 为你设置的密码,将 ip 变更为Nanoserver 的ip。
使用 rs.cmd cmd 或 rs.cmd ps 分别进入远程 cmd 或远端 powershell。
也支持其他的命令,如 rs.cmd ipconfig


手动 cmd:
如果使用 cmd 手动进行连接,每次连接执行
chcp 65001
winrs.exe -r:127.0.0.1 -u:Administrator -p:Tuva cmd


即可,其中 Tuva 替换成你自己设置的 密码。127.0.0.1 替换成 NanoServer 的 ip ,最后的 cmd 可以换成其他命令,比如 ipconfig。但是注意,不要在这加上 PowerShell,你会看到你不愿意看到的效果(PowerShell 的界面会跑到 NanoServer 上,并且使用 NanoServer 的键盘来操作,看样子无头系统只是限制)……想使用 PowerShell 进行远程连接,请看下面。


手动 PowerShell:
如果使用 PowerShell 作为客户端连接,可以在 cmd 中使用以下命令,其中  Tuva 替换成你自己设置的 密码,127.0.0.1 替换成 NanoServe 的 ip。


PowerShell.exe -NoExit -Command "$password = ConvertTo-SecureString \"Tuva\" -AsPlainText -Force" ; "$cred= New-Object System.Management.Automation.PSCredential (\"Administrator\", $password )" ; "Enter-PSSession -ComputerName 127.0.0.1 -Credential $cred"


或者使用微软推荐的 PowerShell 命令,需要每次输入密码。




建议:
使用 nanovhd 的方式进行部署。使用 bcdboot 命令进行启动配置。它可以自动处理 vhd 的启动问题,用来代替 bcdedit 繁杂的命令。
详情在 cmd 中使用
bcdboot /?


参考资料:
https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/docker_windows?f=255&MSPPError=-2147217396#nano-server
https://technet.microsoft.com/en-us/library/mt126167.aspx#bkmk_ManageRemote
https://blogs.msdn.microsoft.com/cciccat/2015/05/26/nano-server/
https://thecloudgeek.net/category/windows-server/


Rank: 2Rank: 2

UID
3583859
帖子
341
PB币
754
贡献
0
技术
15
活跃
474
沙发
发表于 2016-5-24 22:15:24 IP属地北京 |只看该作者
使用 nano 脚本快速建立系统 vhd 可使用 nano nanowim 命令。

将建立的 vhd 挂载到 vbox 可以直接启动,记得一定要配置网络。
或者复制到物理机硬盘上,使用 nano mntvhd 命令进行 vhd 挂载。
使用 bcdboot 命令建立 vhd 的启动信息。然后用 nano unmvhd 卸载 vhd,重启即可。

进入后,第一步是通过 powershell 连接到 nanoserver 上,执行 docker 命令,会进行初 docker 服务的始化

之后执行 Install-ContainerOSImage -WimPath D:\NanoServer.wim -Force 然后重启 nanoserver
之后就可以进行 docker pull 命令和 docker run 命令了
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
837178
帖子
1542
PB币
0
贡献
0
技术
49
活跃
1038

7周年庆典勋章 评测勋章

板凳
发表于 2016-5-25 09:42:05 IP属地上海 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
837178
帖子
1542
PB币
0
贡献
0
技术
49
活跃
1038

7周年庆典勋章 评测勋章

4F
发表于 2016-5-25 09:42:31 IP属地上海 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
3583859
帖子
341
PB币
754
贡献
0
技术
15
活跃
474
5F
发表于 2016-5-25 11:03:03 IP属地北京 |只看该作者
Pale_Cheung 发表于 2016-5-25 09:42
支持了!

schtasks 不用xml确实不能只盯 work directory.

如果不在计划任务层指定 work directory,
即使在脚本中进行 cd 也无济于事。不太清楚为什么会如此。
计划任务会因此无法启动。
而即使随便指定个 work directory,只要目录存在,即可成功执行计划任务。
具体原因不明,在尝试多次无果后,果断用 xml 配置了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛