【问题标题】:Why docker executes commands on my server为什么 docker 在我的服务器上执行命令
【发布时间】: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


【解决方案1】:

如果要在创建 docker 容器时运行命令,则需要将此行添加到 Dockerfile 中

# replace 'python application.py' with whatever you need
CMD python application.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 2017-01-14
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 2021-10-28
    相关资源
    最近更新 更多