【发布时间】:2018-02-08 22:58:42
【问题描述】:
我写了一个 docker 文件,我希望它在我创建一个新容器时执行命令。发生这种情况时,它会在创建图像时首先在我的服务器上执行。
用于创建图像的命令
docker build -t myimage:latest .
Docker 文件
#FROM microsoft/nanoserver
FROM microsoft/windowsservercore
MAINTAINER test@gmail.com
ADD ["files", "c:/files"]
RUN dism.exe /online /enable-feature /all /featurename:iis-webserver /NoRestart
RUN dism /online /Enable-Feature /all /FeatureName:IIS-ISAPIExtensions /NoRestart
RUN dism /online /Enable-Feature /all /FeatureName:IIS-ISAPIFilter /NoRestart
RUN dism /online /Enable-Feature /all /FeatureName:IIS-ASPNET /NoRestart
RUN dism /online /Enable-Feature /all /FeatureName:IIS-CGI /NoRestart
RUN dism /online /Enable-Feature /all /FeatureName:IIS-CGI45 /NoRestart
我缺少什么以及如何确保命令仅在 docker 实例化期间运行。
【问题讨论】:
-
你是什么意思他们在你的服务器上执行?构建期间的这些命令将在容器内执行,并且不会在服务器上执行。除此之外,使用 powershell 而不是 DISM 来安装 windows 功能
标签: docker containers dockerfile docker-for-windows