我不得不说我是Docker和Dockerfile的新手...我需要创建一个安装有Nano服务器和Java的构建。 我创建了以下docker文件,但出现以下错误
这是文件
# Installer image
FROM mcr.microsoft.com/windows/servercore:1909 AS installer
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Invoke-WebRequest -OutFile java.zip https://download.oracle.com/otn-pub/java/jdk/13.0.2+8/d4173c853231432d94f001e99d882ca7/jdk-13.0.2_windows-x64_bin.zip;`
Expand-Archive java.zip -DestinationPath java; `
错误是
Error response from daemon: Dockerfile parse error line 8: unknown instruction: EXPAND-ARCHIVE
我在做什么错?我在Windows容器运行时上
谢谢
答案 0 :(得分:1)
将其更改为以下内容并进行了测试。错误消失了。
# Installer image
FROM mcr.microsoft.com/windows/servercore:10.0.14300.1030 AS installer
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';
$ProgressPreference = 'SilentlyContinue';"]
RUN Invoke-WebRequest -OutFile java.zip https://download.oracle.com/otn-pub/java/jdk/13.0.2+8/d4173c853231432d94f001e99d882ca7/jdk-13.0.2_windows-x64_bin.zip;
CMD [ "Expand-Archive", "java.zip", "-DestinationPath java;" ]
答案 1 :(得分:1)
Microsoft 的文档现在提到使用 \ 来转义多行
RUN Write-Host "pwsh .bak copied across"; \
Get-ChildItem -Path /var/opt/mssql/backup \
Invoke-Sqlcmd -query "SELECT GETDATE() AS TimeOfQuery" \
Invoke-Sqlcmd -query "SELECT * from sys.databases" \