我正在尝试使用docker swarm在5个VM上运行docker windows容器,而这5台机器在F5 loadbalancer后面。 我能够设置docker-swarm master和5个节点并成功部署堆栈,但是现在每个节点都有捕获我必须从节点复制容器内的各个web.config文件(web.config在每个节点上都是可用的)。
我现在正在传递entrypoint.bat文件,该文件将文件从已安装的卷复制到resepctive网站目录。
defalut入口点是:[“c:\ Servicemonitor”“w3svc”] 重写的入口点是(这是在批处理文件中): “c:\ Servicemonitor”“w3svc” 复制文件的代码
堆栈部署后,我的容器运行了大约6秒并且存在,我检查了日志并验证了web.config文件正在被正确复制,但是有一些IIS / w3svc停止了。
我不确定何时使用docker-stack.yml
来复制功能提前谢谢你,
SAAM
答案 0 :(得分:0)
我能够制作解决方法,下面提到的powershell脚本:
Start-Service w3svc #make sure to start w3svc
$file="C:\cq\web.config" # kept on bilnd mount volume
do {
if (-not (Test-Path $file)) {
Write-Host "Awaiting for file"
Start-Sleep -s 5
}Else{
Copy-Item -Path C:\web\web.config -Destination C:\inetpub\wwwroot\mysite
Write-Host "File copied"
IISRESET /status # just to check status
C:\servicemonitor.exe WAS # I am aksing servmon to monitor WAS instead of w3svc and keep servmon active
}
}直到(Test-Path $ file)