在docker基本文件中使用环境变量

在docker基本文件中使用环境变量,docker,dockerfile,Docker,Dockerfile,使用以下docker文件,我在运行md$SiteFolderPath时遇到一个错误,我不确定为什么我看到的每个示例都是这样的: 表示我做得正确 FROM microsoft/iis #FROM nanoserver/iis SHELL ["powershell"] ENV SiteFolderPath c:\\app ENV SiteFolderPathLogs c:\\app\\logs ENV WorkFolder /app ENV SiteAppPool LocalAppPool

使用以下docker文件,我在运行md$SiteFolderPath时遇到一个错误,我不确定为什么我看到的每个示例都是这样的:

表示我做得正确

FROM microsoft/iis
#FROM nanoserver/iis

SHELL ["powershell"]

ENV SiteFolderPath c:\\app
ENV SiteFolderPathLogs c:\\app\\logs
ENV WorkFolder /app

ENV SiteAppPool LocalAppPool
ENV SiteName LocalWebSite
ENV SiteHostName LocalSite

RUN md $SiteFolderPath
RUN md $SiteFolderPathLogs
WORKDIR $WorkFolder


COPY ./Public .

RUN New-Item $SiteFolderPath -type Directory
RUN Set-Content $SiteFolderPath\Default.htm "<h1>Hello IIS</h1>"
RUN New-Item IIS:\AppPools\$SiteAppPool
RUN New-Item IIS:\Sites\$SiteName -physicalPath $SiteFolderPath -bindings @{protocol="http";bindingInformation=":80:"+$SiteHostName}
RUN Set-ItemProperty IIS:\Sites\$SiteName -name applicationPool -value $SiteAppPool

EXPOSE 80
EXPOSE 443

VOLUME ${SiteFolderPathLogs}
来自microsoft/iis的

#从nanoserver/iis
SHELL[“powershell”]
环境站点文件夹路径c:\\app
环境站点文件夹路径日志c:\\app\\logs
环境工作文件夹/应用程序
环境SiteAppPool本地AppPool
ENV SiteName本地网站
环境站点主机名本地站点
运行md$SiteFolderPath
运行md$SiteFolderPathLogs
WORKDIR$WorkFolder
复制/公开。
运行新项目$SiteFolderPath-类型目录
运行Set Content$SiteFolderPath\Default.htm“Hello IIS”
运行新项目IIS:\AppPools\$SiteAppPool
运行新项目IIS:\Sites\$SiteName-physicalPath$SiteFolderPath-bindings@{protocol=“http”;bindingInformation=“:80:”+$sitehstname}
运行Set ItemProperty IIS:\Sites\$SiteName-name applicationPool-value$SiteAppPool
暴露80
揭露443
卷${SiteFolderPathLogs}
生成docker文件时,我收到一条错误消息:

mkdir:无法将参数绑定到参数“Path”,因为它为null


您链接到的页面状态为:

Environment variables are supported by the following list of instructions in the Dockerfile:

ADD
COPY
ENV
EXPOSE
FROM
LABEL
STOPSIGNAL
USER
VOLUME
WORKDIR

as well as:

ONBUILD (when combined with one of the supported instructions above)
由于将变量用作运行块的一部分,因此应使用Windows环境变量语法:%SiteFolderPath%