我在Windows Server Core 2016中使用Docker群 我正在尝试使用docker stack deploy -c docker-compose.yml
创建容器 #这是我的YML文件:
version: "3"
services:
db:
image: microsoft/mssql-server-windows-express
networks:
- cpxnet2
deploy:
environment:
- SA_PASSWORD=Abcd1234
- ACCEPT_EULA=Y
web:
image: microsoft/iis:latest
build: .
networks:
- cpxnet2
deploy:
resources:
limits:
memory: 500M
ports:
- "800:80"
depends_on:
- db
networks:
cpxnet2:
#
这是我的Dockerfile:
FROM microsoft/iis:latest
RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\*
WORKDIR /inetpub/wwwroot
COPY ./index.html /index.html
#
这是创建后我的容器内容:
目录:C:\ inetpub \ wwwroot
模式LastWriteTime长度名称 ---- ------------- ------ ---- -a ---- 3/13/2019 10:56 AM 703 iisstart.htm -a ---- 3/13/2019 10:56 99710 iisstart.png
它至少应删除旧文件并复制我的index.html文件 但这不会发生!我该怎么办?
感谢您的支持!
答案 0 :(得分:1)
在build
命令中使用compose-file时,不能在docker-compose.yml中使用docker stack deploy
。因此,发生的事情是它拍摄了图像microsoft/iis:latest
而忽略了build
。
看看官方文档:https://docs.docker.com/compose/compose-file/#build
注意:在集群模式下以以下方式部署堆栈时,将忽略此选项: 一个(版本3)撰写文件。 docker stack命令仅接受 预制图像。
您要做的是在运行docker stack deploy
命令之前先构建映像,然后将image
与映像名称一起使用。