【发布时间】:2018-09-14 01:29:42
【问题描述】:
我正在运行 Docker for Windows 并尝试构建映像。它工作得很好,但后来我将它添加到我的 Dockerfile 的末尾:
# Install Python
RUN choco install -y python3 --params "/InstallDir:C:\Python"
ENV PYTHONPATH=C:\Python\python.exe
当我这样做时,图像构建,但当我尝试运行它时,我得到:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: 错误 来自守护进程的响应:容器 9e758f7ef343436f64e7e29b795154b1e771a6682b625097d680e3b510a9047c 在启动期间遇到错误:Windows 系统调用失败: 计算系统意外退出。 (0xc0370106)。
所以,我删除了这两行并重新构建。然而,当我尝试运行它时(现在恢复到以前工作的版本!)我仍然得到错误。我怎样才能清除所有乱七八糟的东西?到目前为止,我已经尝试了以下方法:
- 重启 Docker
- 重新启动 Windows
- 在图像上运行
docker rmi -f,以及任何看起来像某种没有标签的中间构建图像。 - 跑
docker system prune - 使用
--no-cache重建映像 - 尝试使用
--memory=8G为构建和运行提供更多内存 - 诅咒诸神
另外,请注意图像(完整的图像,包括安装 Python 的行)在我的另一台运行 Windows Server 2016 的机器上构建并运行。所以,图像很好。这台电脑出了点问题,我似乎无法撤消。我想重新安装 Docker 是我的下一步,除非有人有更好的主意。
Docker 版本:
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:21:34 2018
OS/Arch: windows/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.24)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:36:40 2018
OS/Arch: windows/amd64
Experimental: false
整个 Dockerfile:
# escape=`
FROM microsoft/dotnet-framework:4.7.1 as vsbuild
# Restore the default Windows shell for correct batch processing below.
SHELL ["cmd", "/S", "/C"]
# Download the Build Tools bootstrapper
ADD https://aka.ms/vs/15/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe
# Install Static Analysis Tools
RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
--add Microsoft.VisualStudio.Component.Static.Analysis.Tools `
|| IF "%ERRORLEVEL%"=="3010" EXIT 0
FROM jetbrains/teamcity-agent:2018.1.2-windowsservercore-ltsc2016
COPY --from=vsbuild ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Team Tools", "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Team Tools"]
COPY --from=vsbuild ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/MSBuild/Microsoft/VisualStudio/v15.0/CodeAnalysis", "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/MSBuild/Microsoft/VisualStudio/v15.0/CodeAnalysis"]
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
# Install Chocolatey
ADD https://chocolatey.org/install.ps1 C:\TEMP\chocolatey.ps1
RUN C:\TEMP\chocolatey.ps1
# Install Node.js
RUN choco install -y nodejs
# Install Gulp
RUN choco install -y gulp-cli
# Install SQL Command Line Utilities
RUN choco install -y sqlserver-cmdlineutils
# Install Azure Powershell
RUN choco install -y azurepowershell
# Install Web Deploy 3.0
RUN choco install -y msdeploy3
# Install WAWSDeploy
RUN choco install -y wawsdeploy
# Install Python
#RUN choco install -y python3 --params "/InstallDir:C:\Python"
#ENV PYTHONPATH=C:\Python\python.exe
【问题讨论】:
-
请分享您的完整 Dockerfile
-
这似乎是相关的:github.com/docker/for-win/issues/902 总而言之,docker for windows 还处于早期阶段。
-
RUN choco install -y python3 --params /InstallDir:""C:\Python"" -
@Alex - 发布了我的 Dockerfile。
-
@Alex choco 命令有效并且在主机上工作。 Dockerfile 不再使用或不使用命令构建。
标签: docker dockerfile