我是新来的对接者,并以此为例,如何学习。我正在尝试创建一个dockerfile,它允许我在我的窗口服务器上运行复合程序。在Plex论坛上创建的一个很棒的帖子描述了如何使用powershell执行任务,因此我想看看是否可以使用这些命令创建映像。
以下是我到目前为止所拥有的:
FROM microsoft/windowsservercore
RUN Get-ChildItem "$Env:SystemRoot\Servicing\Packages\*Media*.mum" | ForEach-Object { (Get-Content $_) -replace 'required','no' | Set-Content $_}
RUN Add-WindowsFeature Server-Media-Foundation;
RUN Invoke-WebRequest -OutFile Plex-Media-Server-1.12.3.4973-215c28d86.exe "https://downloads.plex.tv/plex-media-server/1.12.3.4973-215c28d86/Plex-Media-Server-1.12.3.4973-215c28d86.exe" -UseBasicParsing;
RUN .\plex.exe /quiet
RUN start 'C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe'
EXPOSE 32400/tcp我已经删除了用于格式化的注释。所以我有两个问题
首先:在使用docker -t test_plex时,这似乎不运行。我得到以下错误:
unable to prepare context: unable to evaluate symlinks in Dockerfile path: GetFileAttributesEx C:\Windows\System32\Dockerfile: The system cannot find the file specified.第二:使用PowerShell,所有这些都会并行运行吗?或者是否有某种等待命令。
任何帮助/提示都是很好的,谢谢你的时间(很抱歉)
发布于 2018-10-10 20:40:12
看起来您正在运行docker build -t test_plex . in C:\Windows\System32\。使用您的Dockerfile移动到一个空文件夹,然后再次运行该命令。
.是构建上下文的位置,您也可以将该位置更改为不同的路径。
请记住,当您运行docker build -t test_plex .时,"build context“或您在运行时所处的目录与构建相关。根据系统的不同,运行位置的所有文件都将被复制到build中。
https://stackoverflow.com/questions/52748278
复制相似问题