我已经为 ASP.NET 和 MSSQL 服务器设置了两个 Windows 容器。在第一个 docker-compose 构建中,一切都按预期工作。然后在我对自定义 dockerfile 进行一些更改并再次运行 docker-compose build 后,它再次使用旧容器,而不进行任何更改。
我假设当我进行构建时,它创建了一个新容器。我误解了 docker 的工作原理吗?
这是 docker-compose.yml
version: '3'
services:
db:
image: microsoft/mssql-server-windows-developer
environment:
sa_password: "Password1234!"
ACCEPT_EULA: "Y"
ports:
- "8003:1433"
build:
context: .
dockerfile: mssql.dockerfile
web:
build:
context: .
dockerfile: web.dockerfile
image: mcr.microsoft.com/dotnet/framework/aspnet:4.8
#volumes:
# - .:C:/inetpub/wwwroot
ports:
- "8080:80"
- "8081:431"
Run Code Online (Sandbox Code Playgroud)
这是 mssql.dockerfile
# escape=`
FROM microsoft/mssql-server-windows-developer
#set shell
SHELL ["powershell.exe", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
#make temp folder
RUN mkdir C:\temp
#copy script …Run Code Online (Sandbox Code Playgroud)