windows - Docker 服务容器,错误:服务 'w3svc' 已停止
问题描述
我正在尝试在 Windows Server 2016 上使用“Docker swarm”创建多个容器,我的服务已创建并复制,但它不稳定,它运行时出现错误。
PS C:\Users\tmman\Desktop\stackdeploy> docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
xw6kqqu7o4ad demo_db replicated 1/1 microsoft/mssql-server-windows-express:latest
kkrpxwiytax9 demo_web replicated 1/1 microsoft/iis:latest *:80->80/tcp
PS C:\Users\tmman\Desktop\stackdeploy> docker service ps demo_web demo_db
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
1s4ybqny71sd demo_web.1 microsoft/iis:latest DELEI4127 Running Starting 2 seconds ago
uohf736ux1ne \_ demo_web.1 microsoft/iis:latest DELEI4127 Shutdown Failed 7 seconds ago "task: non-zero exit (21479438…"
owpguwtbpdxc \_ demo_web.1 microsoft/iis:latest DELEI4127 Shutdown Failed 16 seconds ago "starting container failed: co…"
dg54mihkflbx \_ demo_web.1 microsoft/iis:latest DELEI4127 Shutdown Failed 25 seconds ago "task: non-zero exit (21475000…"
7enznbiqjfp5 \_ demo_web.1 microsoft/iis:latest DELEI4127 Shutdown Failed 37 seconds ago "starting container failed: co…"
o541pdex9s3p demo_db.1 microsoft/mssql-server-windows-express:latest DELEI4127 Running Running 11 minutes ago
PS C:\Users\tmman\Desktop\stackdeploy> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
017afe0a6211 microsoft/iis:latest "C:\\ServiceMonitor.e…" 18 seconds ago Up 10 seconds 80/tcp demo_web.1.1s4ybqny71sds3i9h47i59g4s
5889ac4ef8d2 microsoft/iis:latest "C:\\ServiceMonitor.e…" 27 seconds ago Exited (2147943855) 19 seconds ago demo_web.1.uohf736ux1neaz5u0p1d73jx4
dce80549e789 microsoft/iis:latest "C:\\ServiceMonitor.e…" 37 seconds ago Created 80/tcp demo_web.1.owpguwtbpdxc50em7a3rc8m05
92721722311c microsoft/iis:latest "C:\\ServiceMonitor.e…" 48 seconds ago Exited (2147500037) 38 seconds ago demo_web.1.dg54mihkflbxt2j0wd6tv8qlt
166d29256771 microsoft/iis:latest "C:\\ServiceMonitor.e…" 11 minutes ago Created 80/tcp demo_web.1.7enznbiqjfp5hdvjbgvnj1q1v
fbc3deb1930e microsoft/mssql-server-windows-express:latest "powershell -Command…" 11 minutes ago Up 11 minutes demo_db.1.o541pdex9s3pmaaty8xzkezpx
Error:
PS C:\Users\tmman\Desktop\stackdeploy> docker service logs demo_web
demo_web.1.1vwqd9xgvfd3@DELEI4127 |
demo_web.1.1vwqd9xgvfd3@DELEI4127 | Service 'w3svc' has been stopped
demo_web.1.1vwqd9xgvfd3@DELEI4127 |
demo_web.1.8vs509jzpwb9@DELEI4127 |
demo_web.1.8vs509jzpwb9@DELEI4127 | Service 'w3svc' has been stopped
demo_web.1.8vs509jzpwb9@DELEI4127 |
demo_web.1.8vs509jzpwb9@DELEI4127 | Failed to update IIS configuration
demo_web.1.1vwqd9xgvfd3@DELEI4127 | Failed to update IIS configuration
demo_web.1.z7yhqf1wqqiu@DELEI4127 |
demo_web.1.z7yhqf1wqqiu@DELEI4127 | Service 'w3svc' has been stopped
demo_web.1.z7yhqf1wqqiu@DELEI4127 |
demo_web.1.pt4du3jr20nj@DELEI4127 |
demo_web.1.pt4du3jr20nj@DELEI4127 | Service 'w3svc' has been stopped
demo_web.1.pt4du3jr20nj@DELEI4127 |
demo_web.1.z7yhqf1wqqiu@DELEI4127 | Failed to update IIS configuration
demo_web.1.pt4du3jr20nj@DELEI4127 | Failed to update IIS configuration
PS C:\Users\tmman\Desktop\stackdeploy> docker info
Containers: 6
Running: 2
Paused: 0
Stopped: 4
Images: 3
Server Version: 18.09.2
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: active
NodeID: 1oef3sisa3el3q46tz7aj78eu
Is Manager: true
ClusterID: k4l6x9b42bg7bfnf630g3g2h1
Managers: 1
Nodes: 1
Default Address Pool: 10.0.0.0/8
SubnetSize: 24
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 10
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Force Rotate: 0
Autolock Managers: false
Root Rotation In Progress: false
Node Address: 10.49.2.50
Manager Addresses:
10.49.2.50:2377
Default Isolation: process
Kernel Version: 10.0 14393 (14393.2848.amd64fre.rs1_release.190305-1856)
Operating System: Windows Server 2016 Standard Version 1607 (OS Build 14393.2848)
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 7.999GiB
Name: DELEI4127
ID: 5BCA:25XO:U3TH:JYXD:BULV:MWXO:UWYF:APIZ:AVCF:R2QO:6KFL:A5SE
Docker Root Dir: C:\ProgramData\docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
我的 Dockerfile :
FROM microsoft/iis:nanoserver
WORKDIR /inetpub/wwwroot
RUN powershell -Command `
Add-WindowsFeature Web-Server;
Invoke-WebRequest -UseBasicParsing -Uri "https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.6/ServiceMonitor.exe" -OutFile "C:\ServiceMonitor.exe"
EXPOSE 80
ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"]
COPY index.html /index.html
我的 YML. 文件:
version: "3"
services:
db:
image: microsoft/mssql-server-windows-express
networks:
- cpxnet
deploy:
environment:
- SA_PASSWORD=Abcd1234
- ACCEPT_EULA=Y
web:
image: microsoft/iis:latest
networks:
- cpxnet
deploy:
resources:
limits:
memory: 50M
ports:
- "80:80"
depends_on:
- db
networks:
cpxnet:
我从这个网站得到了一些解决方案:https ://github.com/Microsoft/aspnet-docker/issues/64但对我的错误没有帮助
预先感谢您的帮助!!注意!!!:我是初学者
解决方案
我遇到了类似的问题 n 有几乎相似的 dockerfile。
为了排除故障,我将入口点更改为连续 ping 到本地主机。这样我就可以登录到容器 n 检查 w3svc 的问题。
我在事件查看器中发现了奇怪的多个事件(需要在 powershell 中查看),w3svc 已成功启动。没有停止事件。但我得出的结论是我的服务有问题。
我进一步检查发现应用程序池处于“按需”状态而不是“始终运行”。我将 apppool 属性设置为始终在我的 dockerfile 中运行。将切换入口点发布为原始值“service monitor.exe w3svc”,它使我的容器稳定。注意 - 我没有使用服务监视器已设置为入口点的默认 iis 映像。
推荐阅读
- listview - Flutter listView builder不断给出此错误:“RangeError(索引):无效值:不在0..19范围内,包括:20”
- r - 如何减少R中for循环中的内存使用量
- rust - binary_search_by 在使用自定义结构时返回一个奇怪的索引
- python-3.x - Python:如何从方法中的方法传递变量?
- c# - 拆分由 CSV 文件组成的字符串
- android - 原生 Android JAVA 到 Flutter
- python - CPU 中的 MNIST 训练时间
- python - 用于捕获字符串中的数字的正则表达式(Python)
- r - Blogdown:如何修改索引?
- ios - 如何在一行collectionview中设置不同的单元格高度和宽度