Lla*_*aNL 5 windows powershell docker
我已经为 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 to temp folder
COPY DownloadDatabase.ps1 C:\temp
COPY RestoreDatabase.ps1 C:\temp
#run script to retrieve production database
WORKDIR C:\temp
RUN .\DownloadDatabase.ps1 -sourcefile <url> -destinationfile <target>
CMD .\RestoreDatabase.ps1
Run Code Online (Sandbox Code Playgroud)
由于 mkdir C:\temp 错误指出该目录已存在,因此很容易判断该映像是否已被重新使用。
编辑:我已经尝试了 docker compose 的所有选项。无缓存,强制rm
| 归档时间: |
|
| 查看次数: |
1763 次 |
| 最近记录: |