【问题标题】:Issues while creating a Windows Container for Nexus repo为 Nexus 存储库创建 Windows 容器时出现问题
【发布时间】:2021-12-23 22:37:29
【问题描述】:

出于商业原因,我不得不为我们的内部 Nexus 存储库创建一个 Windows 容器。这是我的 docker 文件:

FROM mcr.microsoft.com/windows/nanoserver:1909
RUN mkdir "c:\\nexus"
WORKDIR c:/nexus
RUN mkdir "sonatype-work"
RUN mkdir "nexus-3.36.0-01"
COPY nexus-3.36.0-01 "nexus-3.36.0-01"
COPY sonatype-work "sonatype-work"
RUN cd "c:\\nexus\\nexus-3.36.0-01\\bin"
EXPOSE 8081
CMD ["nexus.exe"]

我正在使用 Windows Nano Server 映像,我的构建运行良好,但我收到此错误:

docker:来自守护进程的错误响应:容器 f204eff7c7e188ee05bae2835dbeca8b9709b88979025669cf6ea64ed36d04cd 在 hcsshim::System::CreateProcess 期间遇到错误:Windows 系统调用失败:系统找不到指定的文件。 (0x2) [事件详情:提供者:00000000-0000-0000-0000-000000000000] [事件详情:提供者:00000000-0000-0000-0000-000000000000] 【事件详情:onecore\vm\compute\management\orchestration\vmhostedcontainer\processmanagement.cpp(173)\vmcomputeagent.exe!00007FF62928B1D7: (caller: 00007FF62923E70B) Exception(2) tid(390) 80070002 系统找不到指定的文件. 调用上下文:[\Bridge_ProcessMessage\VmHostedContainer_ExecuteProcess] 提供者:00000000-0000-0000-0000-000000000000]。

这就是我运行图像的方式:

docker run -d -p 8081:8081 myself/nexus

知道我做错了什么吗?

【问题讨论】:

标签: docker nexus windows-server-2008 windows-container


【解决方案1】:

可能需要进行两项更改。更改此行:

RUN cd "c:\\nexus\\nexus-3.36.0-01\\bin"

对于这个:

WORKDIR c:/nexus/nexus-3.36.0-01/bin

这是在 Docker 中设置新工作目录的正确方法。 CD 不会做任何事情。

另外,我不确定 Nexus 是否会使用这条线运行:

CMD ["nexus.exe"]

根据我的经验,正确的方法应该是这个:

CMD ["nexus.exe /run"]

关于第二个建议的更多信息:

https://help.sonatype.com/learning/repository-manager-3/first-time-installation-and-setup/lesson-1%3A--installing-and-starting-nexus-repository-manager?preview=%2F16351968%2F16351969%2Fchange_PW.png#:~:text=Start%20NXRM%20by%20running%20the,command%3A%20nexus.exe%20%2Frun

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2019-03-21
    相关资源
    最近更新 更多